gpt4 book ai didi

c# - WPF DataGrid 实际 ColumnHeaderHeight

转载 作者:行者123 更新时间:2023-11-30 16:11:49 30 4
gpt4 key购买 nike

当我将 WPF DataGrid 的 ColumnHeaderHeight 设置为 Auto (double.NaN) 时,如何获取列标题的实际呈现高度?

我似乎无法在 DataGrid 类中找到该属性。

最佳答案

您可以通过在可视化树中搜索 DataGridColumnHeadersPresenter 并阅读其 ActualHeight 属性来获取它。

    var headersPresenter = FindVisualChild<DataGridColumnHeadersPresenter>(dataGrid);
double actualHeight = headersPresenter.ActualHeight;

这是 FindVisualChild 方法。它也可以作为扩展方法实现。

public static T FindVisualChild<T>(DependencyObject current) where T : DependencyObject
{
if (current == null) return null;
int childrenCount = VisualTreeHelper.GetChildrenCount(current);
for (int i = 0; i < childrenCount ; i++)
{
DependencyObject child = VisualTreeHelper.GetChild(current, i);
if (child is T) return (T)child;
T result = FindVisualChild<T>(child);
if (result != null) return result;
}
return null;
}

关于c# - WPF DataGrid 实际 ColumnHeaderHeight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23905923/

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