1

コードでスナップ ビューに移動するときに変更する必要がある XAML で定義された RowDefinitions を持つグリッドがあります。これまでのところ、次の方法でそれらを削除する方法しかわかりません。

RowDefinitionCollection defs = mainGrid.RowDefinitions;
defs.RemoveAt(0);
defs.RemoveAt(0);

基本的に、スナップされたビューですべての定義を削除する必要があります (上記のコードは機能します) が、最初の行の高さを 140 にし、スナップされた状態に戻ったら 2 番目の行を "*" にする必要があります。これらの特性を持つ定義を追加するにはどうすればよいですか?

4

3 に答える 3

3

単に

RowDefinitionCollection rdc = mainGrid.RowDefinitions;

rdc.Clear();

rdc.Add(new RowDefinition() { Height = new GridLength(140) });
rdc.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
于 2013-04-24T16:30:58.883 に答える
1

試す:

    RowDefinitionCollection defs = myGrid.RowDefinitions;
    defs.Add(new RowDefinition() { Height = new GridLength(140) });
    defs.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });

別の方法として、2 つのグリッドを使用して、表示状態の一部として可視性を変更するだけで、面倒な UI 操作をコードに取り込む必要がなくなります。組み込みの Visual Studio テンプレートは、スナップ ビューにこの手法を使用します。

于 2013-04-24T16:21:10.880 に答える
0

myGrid.Children.Clear();

すべての子コントロールを削除します

于 2014-07-30T08:48:45.650 に答える