更改WPF窗口的内容
问题描述:
当我点击导航栏上的按钮时,会打开一个新窗口。例如:更改WPF窗口的内容
private void btFinanzen_Click(object sender, RoutedEventArgs e)
{
Finanz mw = new Finanz(login);
mw.Show();
}
现在,我不想要显示它在一个新的窗口。相反,我希望它在同一个窗口显示。我试着用以下方法:
private void btFinanzen_Click(object sender, RoutedEventArgs e)
{
Finanz mw = new Finanz(login);
//mw.Show();
this.Content = Finanz f;
}
但它失败了。 我应该说的是,现在我有很多不同的窗口,并希望它们全部显示在一个窗口中 - 每次单击一个不同的按钮。 我该如何管理?
答
你需要做的是为可替换内容使用UserControl而不是Window。添加一个新的UserControl,用于您想要在此项目中显示的每个可能的内容。内容到您的项目。将您之前在第二个窗口中的内容添加到相应的UserControl。之后,您可以简单地在代码中实例化新控件,并将其分配给主窗口的内容区域。
例如,您使用您以前的Finanz窗口的内容创建UserControl ctlFinanz。现在,您只需编写:
this.Content = new ctlFinanz(login);
这一切:-)
答
我有同样的问题,并决定为每个窗口创建一个单独的用户控件,将它们放在我的wpf中,并将除活动窗口之外的所有窗口的可见性设置为折叠。
答
对我来说,这听起来像地方使用与网页的框架。而不是制作大量的窗口,用一个框架制作一个窗口,然后将内容放入页面中。然后,您只需每次按导航按钮时将框架的内容更改为不同的页面。