我对 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 至少会有十几个这样的 TabItem。每个 TabItem 都将有一个具有完全相同的行定义的网格(如 XAML 中所示)。我真的不想重复这十几次(对于每个 TabItem)。我隐约熟悉模板的概念。我可以将这些行定义放在某种模板中并为每个 TabItem 重复使用它们吗?
最佳答案
您可以对所有选项卡项的同一行使用相同的 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>
有用的链接:
关于.net - 为每个 TabItem 重用 Grid RowDefinitions,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8416674/