2014-09-29 3 views
0

Я искал это и нашел ответы, но никто не работает для меня. У меня есть элемент управления вкладками и два элемента. Я хочу, чтобы Item1 имел ту же ширину, что и Item2. Я использую SharedSizeGroup, но только после того, как я выбираю Item2, ширина устанавливается в Item1. Кто-нибудь может мне помочь? Код позади - это не вариант для меня.Та же ширина табитов

<Window x:Class="tabitem_sharedsize.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" SizeToContent="WidthAndHeight"> 
<Grid> 

    <TabControl TabStripPlacement="Top" Grid.IsSharedSizeScope="True" > 

     <TabItem Header="Item1"> 
      <Grid > 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition SharedSizeGroup="col_group"/> 
       </Grid.ColumnDefinitions> 

       <!-- Object Descritions --> 
       <GroupBox Margin="5,5,5,5" Grid.Column="0"> 
        <GroupBox.Header> 
         Object description 
        </GroupBox.Header> 

        <Grid> 
         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="150" /> 
          <ColumnDefinition Width="250" /> 
         </Grid.ColumnDefinitions> 

         <!-- Name --> 
         <Label Grid.Column="0" Grid.Row="0" Content="Name:" /> 
         <TextBox Grid.Column="1" Grid.Row="0" /> 

         </Grid> 
       </GroupBox> 
      </Grid> 
     </TabItem> 

     <TabItem Header="Item2"> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition SharedSizeGroup="col_group"/> 
       </Grid.ColumnDefinitions> 

       <Grid Grid.Column="0"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*" /> 
        </Grid.ColumnDefinitions> 

        <!-- Inputs --> 
        <GroupBox Grid.Column="0" Margin="5,5,5,5"> 
         <GroupBox.Header> 
          Inputs 
         </GroupBox.Header> 

         <Grid> 

          <ListView Grid.Row="1" Margin="10,0,0,5"> 
           <ListView.View> 
            <GridView > 
             <GridViewColumn Header="A" Width="250"/> 
             <GridViewColumn Header="B" Width="250"/> 
            </GridView> 
           </ListView.View> 
          </ListView> 
         </Grid> 
        </GroupBox> 
       </Grid> 
      </Grid> 
     </TabItem> 
    </TabControl> 
</Grid> 

ответ

2

Вы хотите просто установить размер первой вкладки же, как размер второй вкладки.

<TabItem Header="Item1"> 
       <Grid > 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition SharedSizeGroup="col_group" Width="400"/> 
        </Grid.ColumnDefinitions> 
       </Grid> 
      </TabItem> 

Во второй вкладке вы установите ширину 2 колонки, как 150 и 250.

, так как есть два столбца во второй вкладке, но в первой вкладке только один, то мы устанавливаем ее ширину до 400

+0

Да, похоже, что это решает проблему. Я просто задавался вопросом, потому что другой аналогичный QaA указывает, что он должен работать, не устанавливая ширину на фактическое значение. И я попробовал это даже без установки этих двух столбцов. Тем не менее это решает мою проблему, но все еще озадачен. – benderto

Смежные вопросы