0

データグリッドとグリッドスプリッターがあります。

ここに画像の説明を入力してください

スプリッターは下部にあり、データグリッドは上部にあり、2つの間に空きスペースがあります。

グリッドスプリッターがデータグリッドから24ユニット以下離れている場合は、グリッドスプリッターがデータグリッドにスナップインすれば問題なく機能すると思います。これをアーカイブすることは可能ですか?

4

1 に答える 1

1

これでデータグリッド行ごとにスナップするようになりました:

private void GridSplitterDragCompleted(object sender, DragCompletedEventArgs e)
{
    // We want the grid splitter to snap in grid of 24 units.
    var excess = (int) FooDataGridRowDefinition.Height.Value % 24;

    if (excess == 0)
        return;

    FooDataGridRowDefinition.Height = new GridLength(FooDataGridRowDefinition.Height.Value - excess);
}

データ グリッドの行はすべて 24 です。動的に取得できると思いますが、今のところはそれで十分です。

XAML:

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" Name="FooDataGridRowDefinition" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <DataGrid Grid.Row="0" />

    <GridSplitter Grid.Row="1" DragCompleted="GridSplitterDragCompleted" />

    <Foo Grid.Row="2" />
</Grid>
于 2012-07-05T13:49:04.630 に答える