C# 我可以从数据模板获取WPF网格中的标题行吗?
我正在使用彼此上方的网格实现一个标题表,因此我可以指定列标题。标题有一个网格,表中每行有一个网格。这是不太实际的,标题宽度必须指定两次。也许我可以使用ListView/DataGrid而不需要所有样式 如何摆脱这种多重网格方法 以下是我得到的:C# 我可以从数据模板获取WPF网格中的标题行吗?,c#,wpf,xaml,C#,Wpf,Xaml,我正在使用彼此上方的网格实现一个标题表,因此我可以指定列标题。标题有一个网格,表中每行有一个网格。这是不太实际的,标题宽度必须指定两次。也许我可以使用ListView/DataGrid而不需要所有样式 如何摆脱这种多重网格方法 以下是我得到的: 您可以使用附加属性 <StackPanel Orientation="Vertical" Grid.IsSharedSizeScope="True"> <Grid Margin="0, 10, 0, 0"> <
您可以使用附加属性
<StackPanel Orientation="Vertical" Grid.IsSharedSizeScope="True">
<Grid Margin="0, 10, 0, 0">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="First" Width="40" />
<ColumnDefinition SharedSizeGroup="Second" Width="70" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0"
Text="header 1" />
<TextBlock Grid.Column="1" Grid.Row="0"
Text="header 2" />
</Grid>
<ItemsControl ItemsSource="{Binding Entities}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<Grid Margin="0, 10, 0, 0">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="First" />
<ColumnDefinition SharedSizeGroup="Second" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0"
Text="{Binding Property1}" />
<TextBlock Grid.Column="1" Grid.Row="0"
Text="{Binding Property2}" />
</Grid>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
不起作用,我尝试了SharedSizeGroup=“a”,SharedSizeGroup=“b”等,我只在第一组列定义中指定了宽度。也许使用多个网格也是一种黑客行为。@AndersLindén:我的错误:你必须将Grid.IsSharedSizeScope=“True”作为StackPanel的属性,我让它工作了,似乎我必须处理多个网格,谢谢!将宽度设置为“*”也是一种使宽度动态的方法,如果有一些边距也很好。。。