1

DataGrid を含む RowDetailsTemplate を持つ DataGrid があります。親グリッドは、独自の行に配置されます。行は次のように定義されます

<RowDefinition Height="*" />

通常、これは、行が使用可能な高さの REST を取得し、最初に取得することを意味します。しかし、DataGrid が画面に残されたスペースに対して大きすぎる場合、DataGird のボタンはスクロールバーを取得する代わりに「画面の下」に消えます。

親グリッドに MaxHeight=400 を定義して解決しようとしましたが、親グリッドの長さは無制限であり、それでも長すぎて底の部分が見えません。

それについて何をすべきか考えていますか?

4

2 に答える 2

0

MaxHight を親グリッドに設定しても、グリッドの高さには何の影響もありません。一方、内側のグリッドに MaxHight を設定すると機能します。

したがって、私は次のように解決しました。まず、行を取得して「rowGridRow」という名前を付けました。

内側のグリッドの Loaded イベントをサブスクライブして、次のようにしました。

    private void dgGroupMedlem_Loaded(object sender, RoutedEventArgs e)
    {
        DataGrid dgGroupMedlem = sender as DataGrid;
        dgGroupMedlem.MaxHeight = rowGridRow.ActualHeight - xxx;
    }

xxx は、周囲の他のもの (ヘッダーなど) を補正する値であり、親グリッドの行数に基づいて計算する必要があります。

于 2012-12-19T10:39:31.603 に答える
0

を使用すべきではないと思いますStackPanel。の場合、その高さOrientationVertical無限大になります。たぶん、別のパネルを使用する必要があります。

このリンクも参照してください: ScrollViewer が WPF でスクロールしない

于 2012-12-18T13:25:05.630 に答える