如何更改我的 wpf Main Window 中的页面?

How can i change a Page in my wpf Main Window?

我想切换托管在我的主 window 上的页面。第一页(在 App Start)显示正确。但如果我想更改页面,它不会发生。我什至没有收到错误。它只显示第一页!这是我的代码:

MainWindow 的构造函数:

public MainWindow(SchraubUser _schraubUser, string page = "")
    {
        schraubUser = _schraubUser;
        db = new AccessDatabase(schraubUser._DATABASE_PATH);

        ViewModel.ViewModel wzViewModel = new ViewModel.ViewModel(schraubUser, db);

        InitializeComponent();

        if (page == "")
        {
            Main.Content = new View.Werkzeug_Window(wzViewModel);
        }
        else
        {
            Main.Content = new View.Freigaben(wzViewModel); 
        }
    }

在应用程序启动时,可选变量为“”,因此 mainwindow 将显示 View.Werkzeug_Window(正常工作)。

这是更改页面的代码:

    private void Button_Freigaben_Click(object sender, RoutedEventArgs e)
    {
        mainWindow = new MainWindow(sb_vm.schraubUser, "Freigabe");
    }

但是还是会显示第一页。这是为什么?

主窗口的

XAML:

<Window x:Class="SchrauberDB.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:SchrauberDB"
    mc:Ignorable="d" 
    Title="MainWindow" Height="750" Width="1100"
    WindowState="Maximized">
<Grid x:Name="mainGrid">
    <Frame x:Name="Main" />
</Grid>
</Window>

太尴尬了...

    private void Button_Freigaben_Click(object sender, RoutedEventArgs e)
    {
        mainWindow = new MainWindow(sb_vm.schraubUser, "Freigabe");
        mainWindow.Show();
    }