我正在以 MVVM 模式创建一个示例 WPF 应用程序来实现母版页内容页面概念。在我的 wpf 应用程序中,我有一个 MainWindow 页面和 3 个用户控件,例如 Page1、Page2 和 Page3。
MainWindow.xaml 包含一个网格、一个堆栈面板和一个框架。
MainWindow.xaml 中的网格包含一个图像控件,堆栈面板包含一个 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);
通过使用它,我能够从 page1 导航到 page2,然后从 page2 导航到 page3。
在这里,我的问题最初是堆栈面板应该在显示 page1 和 page2 时禁用。但是,当从 page2 导航到 page3 时,这意味着每当我显示 page3 时,应该启用 MainWindow 中的堆栈面板,并且按钮只能在 page3 中执行它们的点击事件。
请让我知道这个问题的解决方案。