有人可以告诉我如何做到这一点吗?
我试过了
dtgMain.RowHeight;
Run Code Online (Sandbox Code Playgroud)
但这总是返回 NAN。
使用 VisualTreeHelper 从数据网格获取 DataGridRow。然后在 DataGridRow 上使用 ActualHeight 属性。
public static T GetFirstVisualChild<T>(DependencyObject depObj) where T : DependencyObject
{
if (depObj != null)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(depObj, i);
if (child != null && child is T)
{
return (T)child;
}
T childItem = GetFirstVisualChild<T>(child);
if (childItem != null) return childItem;
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
然后:
DataGridRow row = GetFirstVisualChild<DataGridRow>(dtgMain);
if(row != null)
{
row.ActualHeight;
}
Run Code Online (Sandbox Code Playgroud)