wpf - 让 WPF Tabcontrol 高度假设最大项目的高度?

标签 wpf height tabcontrol multibinding

有没有办法让 tabcontrol 获取最大选项卡项的大小(实际上,是 tabitem 的内容)?

由于 tabcontrol 没有分配特定的大小,它应该自动调整大小:它正确地做到了,但是当您切换选项卡时,它会自动将自身调整为当前选定选项卡内容的高度(和宽度)。

我不希望发生调整大小,并让 tabcontrol 假设最大项目的高度,但仍然让它自动调整大小。

有什么线索吗?我尝试将数据绑定(bind)到 Height用作内容的每个元素的属性使用多重绑定(bind),同时绑定(bind) ActualHeightItems选项卡控件的属性。但是很可惜,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/

相关文章:

WPF + PRISM - 显示带有控件的模式弹出窗口?

c# - 如何在设计时重新排列 WinForms TabControl TabPages?

iframe - 设置 iframe 内容高度以动态自动调整大小

c# - 如何使选项卡控件上的选项卡消失?

WPF - 在 TabControl 和 ZIndex 中重叠自定义选项卡

WPF 重复图像背景

c# - Wpf CheckedListbox - 如何获取所选项目

c# wpf 在windows右键上下文菜单中设置链接

java - 基本箭头按钮高度

android - 获取所有缩放级别的 android 内置 web 浏览器的窗口内部宽度和高度