在一个XAML窗口中,对于不同的ItemsControls,我有两个独立的ViewModels。ItemsControls都有网格,第一列的宽度应该相同。现在我有以下内容,但是网格只是独立地管理它们的大小。我希望第一列的宽度是相同的。这是我的XAML
<TabControl>
<TabItem Header="x">
<Grid Grid.IsSharedSizeScope="True">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Grid Margin="10" Grid.Row="0" Grid.IsSharedSizeScope="True">
<ItemsControl Name="inputs1" Grid.IsSharedSizeScope="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" SharedSizeGroup="1" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock VerticalAlignment="Center" Text="{Binding Description}" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
<Grid Margin="10" Grid.Row="1" Grid.IsSharedSizeScope="True">
<ItemsControl Name="inputs2" Grid.IsSharedSizeScope="True">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="0,0,0,5">
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="1" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock VerticalAlignment="Center" Text="{Binding Description}" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</Grid>
</TabItem>
</TabControl>他们拥有相同的股份集团,所以他们应该是平等的,对吗?结果:https://gyazo.com/2284485127427673269dfd8e26e42682
发布于 2016-10-31 13:45:21
删除较低层次结构级别中的所有Grid.IsSharedSizeScope="True"属性,并仅将其保存在跨越所有涉及网格的控件中。对于这些属性,似乎打开了一个新的共享作用域,因此忽略了更高级别的作用域(尽管我无法从文档中真正读懂这一点)。
https://stackoverflow.com/questions/40342084
复制相似问题