如果您的扩展器没有模板化,那就是一个可视化树:
Expander { Border { DockPanel { ToggleButton, ContentPresenter {...} } } }
Run Code Online (Sandbox Code Playgroud)
你所需要的只是获得那个 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;
Run Code Online (Sandbox Code Playgroud)
编辑
另外,我想强调使用ActualHeight, not Height,因为Heightis not double.IsNaN(in XAML, auto) 仅当在代码或 XAML 中显式设置时
| 归档时间: |
|
| 查看次数: |
1918 次 |
| 最近记录: |