Повторное использование Grid RowDefinitions для каждого TabItem - PullRequest
3 голосов
/ 07 декабря 2011

Я довольно новичок в WPF / XAML.У меня есть следующее определение TabControl с одним определением TabItem:

<TabControl Grid.Row="1">
   <TabItem Header="CdTe Thickness">
      <Grid x:Name="CdTeThicknessGrid">
         <Grid.RowDefinitions>
            <RowDefinition Height=".4*" /> <!-- 40% -->
            <RowDefinition Height=".6*" /> <!-- 60% -->
         </Grid.RowDefinitions>
      </Grid>
   </TabItem>
   <TabItem Header="CdTe Roughness"></TabItem>
</TabControl>

Я мое приложение, у моего TabControl будет по крайней мере дюжина TabItems, как это.Каждый TabItem будет иметь сетку с такими же точными определениями строк (как показано в XAML).Я действительно не хочу повторять это дюжину раз (для каждого TabItem).Я смутно знаком с концепцией шаблонов.Могу ли я поместить эти определения строк в какой-то шаблон и повторно использовать их для каждого TabItem?

1 Ответ

4 голосов
/ 07 декабря 2011

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

<TabControl Grid.IsSharedSizeScope="True" Grid.Row="1">
   <TabItem Header="CdTe Thickness">
      <Grid x:Name="CdTeThicknessGrid">
         <Grid.RowDefinitions>
            <RowDefinition Height=".4*" SharedSizeGroup="FirstRow" />
            <RowDefinition Height=".6*" SharedSizeGroup="SecondRow" />
         </Grid.RowDefinitions>
      </Grid>
   </TabItem>
   <TabItem Header="CdTe Roughness"></TabItem>
</TabControl>

Полезные ссылки:

...