有没有办法让 tabcontrol 获取最大选项卡项的大小(实际上,是 tabitem 的内容)?
由于 tabcontrol 没有分配特定的大小,它应该自动调整大小:它正确地做到了,但是当您切换选项卡时,它会自动将自身调整为当前选定选项卡内容的高度(和宽度)。
我不希望发生调整大小,并让 tabcontrol 假设最大项目的高度,但仍然让它自动调整大小。
有什么线索吗?我尝试将数据绑定(bind)到 Height
用作内容的每个元素的属性使用多重绑定(bind),同时绑定(bind) ActualHeight
和 Items
选项卡控件的属性。但是很可惜,ActualHeight
内容元素的数量始终为 0。
<TabItem Header="Core" >
<Grid Margin="5">
<Grid.Height>
<MultiBinding Converter="{Converters1:AllTabContentEqualHeightConverter}">
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}"/>
<Binding Path="Items" RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType={x:Type TabControl}}"/>
</MultiBinding>
</Grid.Height>
...
这可以做到吗?
最佳答案
是的,可以做到:reuse-grid-rowdefinitions-for-each-tabitem
例子:
<TabControl Grid.IsSharedSizeScope="True">
<TabItem Header="Tab 1">
<Grid >
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="xxx"/>
</Grid.RowDefinitions>
</Grid>
</TabItem>
<TabItem Header="Tab 2">
<Grid >
<Grid.RowDefinitions>
<RowDefinition SharedSizeGroup="xxx"/>
</Grid.RowDefinitions>
</Grid>
</TabItem>
</TabControl>
关于wpf - 让 WPF Tabcontrol 高度假设最大项目的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1073770/