マスター ページ コンテンツ ページの概念を実装するために、MVVM パターンで 1 つのサンプル WPF アプリケーションを作成しています。私の wpf アプリケーションには、1 つの MainWindow ページがあり、Page1、Page2、および Page3 という 3 つのユーザー コントロールがあります。
MainWindow.xaml には、1 つのグリッド、1 つのスタックパネル、および 1 つのフレームが含まれています。
MainWindow.xaml の Grid には 1 つのイメージ コントロールが含まれ、stackpanel には 1 つの TextBlock と 3 つのボタンが含まれます。
このフレームは、次のようにページごとに最初に埋められるかロードされます。
// Load and show the MainWindow
MainWindowViewModel vm = new MainWindowViewModel();
MainWindow main = new MainWindow();
Navigator.NavigationService = main.NavigationFrame.NavigationService;
main.DataContext = vm;
main.Show();
// Load and navigate to the first page
Page1ViewModel pagevm = new Page1ViewModel();
Page1 p1 = new Page1();
p1.DataContext = pagevm;
Navigator.NavigationService.Navigate(p1);
これを使用することで、ページ 1 からページ 2 に移動し、次にページ 2 からページ 3 に移動できます。
ここで私の問題は、最初にページ1とページ2を表示している間、スタックパネルを無効にする必要があることです。しかし、ページ 2 からページ 3 に移動している間は、ページ 3 を表示するたびに、MainWindow にあったスタック パネルを有効にする必要があり、ボタンはページ 3 でのみクリック イベントを実行できるようになります。
この問題の解決策を教えてください。