1

WinRT アプリを作成していて、スナップ ビューでそのレイアウトを変更する必要があります。通常のビューでは、詳細は次の構造のグリッドに表示されます。

MainGrid: 2 行 2 列 (M11、M12、M21、M22 と呼びましょう)

DetailGrid: MainGrid の右端の列と上の行を占有し、1 行 2 列が等しいため、レイアウトは次のようになります。M12 には、水平に階層化された D1 と D2 が含まれます。

スナップされたビューで、DetailGrid を再定義して、1 列と 2 行になるようにしたい: M12 には、垂直に階層化された D1 と D2 が含まれる

列の幅を気にしない場合は、Grid の代わりに StackPanel を使用して詳細を表示し、スナップ モードで StackPanel の向きを水平から垂直に変更するだけです。ただし、D1 と D2 は、標準モードで使用可能なすべてのスペースを使用し、同じサイズにする必要があるため、Grid ColumnDefinition を介してそれらを制御します。しかし、グリッド定義は、VisualStateManager を使用して簡単に制御できるものではありません。

そのようなレイアウトを管理する最良の方法は何だと思いますか?

前もって感謝します

4

1 に答える 1

0

グリッド定義を制御するのは難しいですが、グリッド内のコントロールで Grid.RowSpan または Grid.RowColumn スパンを変更すると、スナップ ビューで必要なことを実行できるはずです。

于 2013-01-20T23:20:59.173 に答える