C# Can';不要更改WPF中的UserControl

C# Can';不要更改WPF中的UserControl,c#,wpf,user-controls,C#,Wpf,User Controls,我有一个有趣的问题。在Main.cs代码中,我有一个方法用于更改我的主窗口显示的UserControl。代码如下: public void NextPage() { if (numberUserControl < 4) { numberUserControl++; SelectUserControl(); } } private void SelectUserCont

我有一个有趣的问题。在Main.cs代码中,我有一个方法用于更改我的主窗口显示的UserControl。代码如下:

public void NextPage()
    {
        if (numberUserControl < 4)
        {
            numberUserControl++;
            SelectUserControl();
        }
    }


    private void SelectUserControl()
    {
        switch (numberUserControl)
        {
            case 1:
                this.contentControl.Content = new UserControls.ServersListControl();
                break;
            case 2:
                this.contentControl.Content = new UserControls.DepartmentsListControl();
                break;
            default:
                MessageBox.Show("lol");
                break;
        }
    }
用户控件不会改变!我使用调试器进行了检查,代码在每个块中都会传递,即使在DepartmentsListControl构造函数中也是如此,但显示的UserControl不会更改。。。我真的不明白为什么


请帮忙!:)

您正在创建与当前实例没有连接的
MainWindow
的新实例。它超出范围,并在
按钮\u单击事件结束后立即丢失

假设按钮位于
main窗口中,只需执行以下操作:

public void Button_Click(object sender, RoutedEventArgs e)
{
    NextPage(/*data*/);
}

是的,我现在理解了这个问题,但是按钮不在主窗口中,他在另一个用户控件中,这就是为什么我创建了新实例,以便能够访问该方法!我在主窗口中通过调用
this.contentControl.Content=newusercontrols.ServersListControl(ref this)添加用户控件如何添加主窗口的引用,它是只读的?
public void Button_Click(object sender, RoutedEventArgs e)
{
    NextPage(/*data*/);
}