0
在一个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>
它们具有相同的sharedsizegroup所以他们应该是平等的吗? 结果现在:https://gyazo.com/2284485127427673269dfd8e26e42682
在包含两个网格的父控件上是否有Grid.IsSharedSizeScope =“True”? – grek40
祝你好运找到答案。目前,pastebin被代理拦截。此外,它很容易:创建一个[MCVE](http://stackoverflow.com/help/mcve),然后它将适合您的问题,它会很小,以便人们真正有动力来帮助您。 – grek40
@ grek40做了一个更新,尽可能缩小完整的代码,希望可以帮助! :) – Markinson