没有列标题高度的Datagrid ActualHeight

问题描述 投票:0回答:1

我试图获取WPF Datagrid的ActualHeight而不考虑列标题高度。 enter image description here

怎么做到的?非常感谢

.net wpf datagrid
1个回答
1
投票

你可以通过访问DataGridRowsPresenterDataGrid来获得它。喜欢,

var dataGridRowsPresenter = FindVisualChild<DataGridRowsPresenter>(grid);
double actualHeight = dataGridRowsPresenter.ActualHeight;

查找control的Visual Child的方法:

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.