ヘッダーなどでサイズ変更された行自体の高さを設定することは意図していません。プロパティーはDataGrid.RowHeight
で、適切に行うことができます。
あなたは高さを設定する必要がある場合は、選択的スタイルを作成し、項目のいくつかのプロパティにDataGridCellsPresenter
の高さをバインドすることができます。
<DataGrid.Resources>
<Style TargetType="DataGridCellsPresenter">
<Setter Property="Height" Value="{Binding RowHeight}" />
</Style>
</DataGrid.Resources>
それとも、ビジュアルツリー(Iからプレゼンターを得ることができますないこれをお勧めします)、そこに高さを割り当ててください:
FindChildOfType
は次のように定義できる拡張メソッドである
// In LoadingRow the presenter will not be there yet.
e.Row.Loaded += (s, _) =>
{
var cellsPresenter = e.Row.FindChildOfType<DataGridCellsPresenter>();
cellsPresenter.Height = 120;
};
:
public static T FindChildOfType<T>(this DependencyObject dpo) where T : DependencyObject
{
int cCount = VisualTreeHelper.GetChildrenCount(dpo);
for (int i = 0; i < cCount; i++)
{
var child = VisualTreeHelper.GetChild(dpo, i);
if (child.GetType() == typeof(T))
{
return child as T;
}
else
{
var subChild = child.FindChildOfType<T>();
if (subChild != null) return subChild;
}
}
return null;
}
ありがとうございます。それは問題を解決する:) – MegaMilivoje