gpt4 book ai didi

wpf - 获取 WPF 扩展器标题的高度

转载 作者:行者123 更新时间:2023-12-04 14:51:45 25 4
gpt4 key购买 nike

我需要获得 WPF Expander.Header 的高度,而不是整个 Expander 只是 Header 的高度。

没有属性可以获取它,因为 Expander.Header + Expander.Content 是 Expander.Height。

你会怎么做才能得到 Expander.Header Height ?

最佳答案

如果您的扩展器没有模板化,那就是一个可视化树:

Expander { Border { DockPanel { ToggleButton, ContentPresenter {...} } } }

你所需要的只是获得那个 ToggleButton。使用很简单 VisualTreeHelper :
var border = VisualTreeHelper.GetChild(expander, 0);
var dockpanel = VisualTreeHelper.GetChild(border, 0);
var togglebutton = VisualTreeHelper.GetChild(dockpanel, /*0*/); // it may be not 0th, so please enumerate all children using VisualTreeHelper.GetChildrenCount(dockpanel) and find that ToggleButton
return togglebutton.ActualHeight;

编辑

另外,我想强调使用 ActualHeight ,不是 Height , 因为 Height不是 double.IsNaN (在 XAML 中, auto )仅当在代码或 XAML 中显式设置时

关于wpf - 获取 WPF 扩展器标题的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4531839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com