【发布时间】:2023-03-23 23:01:01
【问题描述】:
这是我的代码:
<Grid x:Name="SourceGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Text="Headers" />
<TextBlock Grid.Row="0" Grid.Column="1" Text="Tags" />
<ItemsControl Grid.Row="1" Grid.ColumnSpan="2" ItemsSource="{Binding Path=AllHeaders.Fields}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding}" />
<ComboBox ItemsSource="{Binding ElementName=SourceGrid, Path=DataContext.Tags}" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
如您所见,我在 DataTemplate 内部有一个 TextBlock 和一个 ComboBox,后者位于 StackPanel 内部。我想要做的是将 TextBlock 放入网格的 Column=0 中,并将 ComboBox 放入网格的 Column=1 中。我怎样才能做到这一点? Grid.Column 属性在 TextBlock 和 ComboBox 中均不可访问。
【问题讨论】:
-
为什么不使用
DataGrid或ListView开箱即用的标头?
标签: c# wpf xaml grid stackpanel