加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WPF Tabcontrol获取最大选项卡的大小

发布时间:2020-12-15 07:52:38 所属栏目:百科 来源:网络整理
导读:我有一个TabControl绑定到Viewmodels的集合,它被转换成适合绘制到选项卡中的适当的: Window.Resources ResourceDictionary DataTemplate DataType="{x:Type charting:LineFormatViewModel}" charting:LineFormatView / /DataTemplate DataTemplate DataType
我有一个TabControl绑定到Viewmodels的集合,它被转换成适合绘制到选项卡中的适当的:
<Window.Resources>
    <ResourceDictionary>
        <DataTemplate DataType="{x:Type charting:LineFormatViewModel}">
            <charting:LineFormatView />
        </DataTemplate>
        <DataTemplate DataType="{x:Type charting:IndexSettingsViewModel}">
            <charting:IndexSettingsView />
        </DataTemplate>
        ....
    </ResourceDictionary>
</Window.Resources>

<TabControl ItemSource="Binding ViewModels" />

我一直试图找到一种方法来始终在任何一个孩子的最大宽度和高度绘制TabControl. Let WPF Tabcontrol height assume height of largest item?提到了几种在答案中实现这一点的方法(来自我所理解的):

>使用带有SharedSizeGroup的Grid – 似乎需要在TabControl的实际内容上应用于DataTemplate,它会覆盖由资源字典中创建的VM-> View映射实现的自动View图形
>使用宽度/高度转换器,这需要将我的TabControl绑定到UI元素的集合而不是viewmodels

有没有人有解决类似问题的经验?每当我在这方面取得一些进展时,我似乎都会碰到更多的墙壁.

解决方法

您需要使用可以自动适应的命名隐藏控件
创建直接绑定到它们的宽度/高度,如:
Width="{Binding ActualWidth,ElementName=MainGrid}"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读