小编C. *_*hen的帖子

WPF查看谁使用MVVM导致另一个人

我试图使用MVVM模式在视图之间建立导航.我的应用程序包含一个MainWindow和两个视图,每个视图都有一个按钮.当我单击View1中的按钮时,我想在MainWindow上设置View2.

我找到了几个教程,解释了如何通过主窗口上的按钮(模拟tabControl)从一个视图导航到另一个视图,它可以工作,但它不是我想要的.

我正在寻找类似的东西:

View1_View.xaml.cs:

public partial class View1_View : UserControl
{
    private View1_ViewModel _viewModel = new View1_ViewModel();

    public View1_View()
    {
        InitializeComponent();
    }

    private void Btn_SwitchToView2_Click(object sender, RoutedEventArgs e)
    {
        MainWindow.SwitchToView2();
    }
}
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml.cs:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.DataContext = new View1_View();
    }

    public void SwitchToView2()
    {
        this.DataContext = new View2_View();
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如果我这样做,从类View1_View我不能访问方法SwitchToView2()如果它不是静态的,如果它是静态的我丢失了MainWindow的上下文.

我该怎么办?谢谢.

c# wpf binding mvvm

5
推荐指数
1
解决办法
96
查看次数

标签 统计

binding ×1

c# ×1

mvvm ×1

wpf ×1