C# Can';不要更改WPF中的UserControl
我有一个有趣的问题。在Main.cs代码中,我有一个方法用于更改我的主窗口显示的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
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*/);
}