我是c#的新手。我创建了主窗口,我添加了usercontrols以使用命令在屏幕之间切换:
Switcher.Switch(new NewPage());
Switcher类是:
public static class Switcher
{
public static MainWindow pageSwitcher;
public static void Switch(UserControl newPage)
{
pageSwitcher.Navigate(newPage);
}
public static void Switch(UserControl newPage, object state)
{
pageSwitcher.Navigate(newPage, state);
}
}
但是如何退出用户控件?我希望完成它(如后退按钮)。我可以用:
Switcher.Switch(new PreviousPage());
但它会将新页面保留在内存中,不会释放它。
NewPage类的示例:
namespace MyProject.Screens
{
public partial class NewPage : UserControl
{
public NewPage()
{
InitializeComponent();
}
private void back_button_Click_(object sender, RoutedEventArgs e)
{
//what to put here?
}
}
}
答案 0 :(得分:1)
您应该尝试使用WPF提供的标准导航服务。这将为您提供可配置的oage缓存和日记功能。
http://msdn.microsoft.com/en-GB/library/ms750478(v=vs.100).aspx
答案 1 :(得分:1)
该框架为您提供了很多繁重的导航功能,包括您感兴趣的“后退”操作。
查看http://msdn.microsoft.com/en-us/library/ms750478.aspx
您将使用NavigationService.GoBack。
如果您正在使用Windows应用商店应用,请告诉我,因为我的回答会有所不同。
答案 2 :(得分:1)
试试这个:
private void back_button_Click_(object sender, RoutedEventArgs e)
{
Window parentWindow = (Window)this.Parent;
parentWindow.Close();
}