0

私はしばらくの間、Microsoft のハンバーガー パターンを独自の方法で実装しようと試みてきました。

最終結果は次のとおりでした。

  • 現在のページとハンバーガー メニューを含めるための AppShell (メニューは常に表示されます)
  • Appshell では、高さ 48 ピクセルの 1 つと高さ 1 の高さの 2 つの行を持つグリッド。
  • 最初の行に、コマンドバー (グローバル) とハンバーガー ボタン (幅と高さが 48 ピクセルのカスタム スタイルのトグル ボタン、中央にハンバーガーのフォント アイコン) を追加しました。
  • 2 行目では、Pane に ListBox があり、Content に Frame がある SplitView。

このようにして、グローバル メニューとコマンド バーを表示しながら、コンテンツを制御できます。Frame の Navigated イベントで、CommandBar を更新して、Frame の Content のプロパティ (これらのプロパティでカスタム ページ コントロールを使用します) と CommandBar のコンテンツ (現在は、バインディング付きの単一の TextBlock)。

ただし、ToggleButton を CommandBar に移動したかったのです。バインディング (ToggleButton の IsChecked が SplitView の IsPaneOpen にバインドされている) が機能しないことを除いて、うまく機能しました。私は通常の ElementName ターゲティングを使用していますが、ViewModel プロパティは使用したくありません。

CommandBar.Content は別のコンテキストを使用しますか? または、ElementName 参照が機能しないのはなぜですか?

4

3 に答える 3