私はかつてあなたの状況に似ていました。 次のようにあなたのケースでは、あなたは、最初にあなたのグリッドを設計する必要があり
<Grid.ColumnDefinitions>
<ColumnDefinition Width="{Binding LeftButtonColWidth}"/>
<ColumnDefinition Width="{Binding RightMainPanelColWidth}"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height = "32"/>
<RowDefinition Height = "*"/>
<RowDefinition Height = "{Binding ightMainPanelBottomButtonRowHeight}"/>
</Grid.RowDefinitions>
が続いてエンドユーザーによって指定されたいくつかの設定に基づいて、あなたのレイアウトを制御するためのviewmodelのプロパティ「LeftButtonColWidth
」、「RightMainPanelColWidth
」と「RightMainPanelBottomButtonRowHeight
」を追加どこかに。
上記のコードはメインコンテナ用です。 また、Bindingプロパティを使用してメインコンテナグリッドとして設計する必要があるButtonのコンテナグリッドが必要です。ボタンコンテナでは、ViewModelのプロパティ "ButtonContainerRow
"と "ButtonContainerCol
"にGrid.RowとGrid.Columnをバインドする必要があります。アプリが起動すると、それらは特定の設定に基づいて変更されます。
これは私のソリューションです。他にも優れたソリューションが必要です。 誰かが私にxmalを使って解決策を与えることを望みます。それは完璧なものでしょう。
コードブロックとしてコードを挿入してください(私は問題を再現するためにスクリーンショットから入力してください)。私は、DockPanelをレイアウトルートとして使用し、UniformGridのDockを変更してレイアウトを切り替えることをお勧めします – ASh
ボタンバーを2つの場所に移動し、縦と横の向きを変更したいとします。どのようにコードを繰り返すのか? –