更改WPF窗口的内容

use*_*692 6 c# wpf

当我单击导航栏上的按钮时,将打开一个新窗口.例如:

    private void btFinanzen_Click(object sender, RoutedEventArgs e)
    {
        Finanz mw = new Finanz(login);
        mw.Show();

    }
Run Code Online (Sandbox Code Playgroud)

现在,我不想在新窗口中显示它.而不是那样,我想让它显示在同一个窗口.我尝试了以下内容:

    private void btFinanzen_Click(object sender, RoutedEventArgs e)
    {
        Finanz mw = new Finanz(login);
        //mw.Show();
        this.Content = Finanz f;

    }
Run Code Online (Sandbox Code Playgroud)

但它失败了.我应该说的是,我现在有很多不同的窗口,希望它们全部显示在一个窗口 - 每个窗口都可以点击一个不同的按钮.我该怎么办呢?

Tor*_*mme 7

您需要做的是为可替换内容使用UserControl而不是Window.为要在此项目中显示的每个可能内容添加一个新的UserControl.将先前在第二个窗口中的内容添加到相应的UserControl.之后,您只需在代码中实例化新控件并将其分配给主窗口的内容区域.

例如,您使用以前的Finanz窗口的内容创建UserControl ctlFinanz.现在你只需写:

this.Content = new ctlFinanz(login);
Run Code Online (Sandbox Code Playgroud)

就这样 :-)