2016-10-31 71 views
0

在一個XAML窗口中,我有兩個不同的ItemsControls,用於不同的ViewModelsItemsControls都有網格,其中第一列應該是相同的寬度。現在我有以下,但網格只是獨立管理它們的大小。我想要第一列是相同的寬度。這是我的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

+0

在包含兩個網格的父控件上是否有Grid.IsSharedSizeScope =「True」? – grek40

+0

祝你好運找到答案。目前,pastebin被代理攔截。此外,它很容易:創建一個[MCVE](http://stackoverflow.com/help/mcve),然後它將適合您的問題,它會很小,以便人們真正有動力來幫助您。 – grek40

+0

@ grek40做了一個更新,儘可能縮小完整的代碼,希望可以幫助! :) – Markinson

回答

2

刪除所有Grid.IsSharedSizeScope="True"屬性在較低層次級別,並只保留在跨越所有涉及的網格的控件。看起來,對於這些屬性中的每一個,都會打開一個新的共享範圍,因此忽略更高級別的範圍(儘管我無法從文檔中真正閱讀它)。

相關問題