2013-04-23 101 views
0

我是新来的c#。我创建了主窗口,我将用户控件与命令屏幕之间切换:C#WPF关闭新用户控件

Switcher.Switch(new NewPage()); 

类切换是:

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? 
     } 
    } 
} 

回答

1

框架做了很多繁重的为你导航,包括您所感兴趣的“后退”操作。

看看http://msdn.microsoft.com/en-us/library/ms750478.aspx

的NavigationService .GoBack是你将要使用的。

如果您正在使用Windows应用商店应用程序,请告诉我,因为我的答案会有所不同。

1

试试这个:

private void back_button_Click_(object sender, RoutedEventArgs e) 
    { 
     Window parentWindow = (Window)this.Parent; 
     parentWindow.Close(); 
    } 
+1

这为我欢呼 – 2014-06-17 12:49:50