C# 如何在UWP中获取页面离开事件?
我将我的UWP页面设置为单例模式。因此,我无法使用函数C# 如何在UWP中获取页面离开事件?,c#,uwp,C#,Uwp,我将我的UWP页面设置为单例模式。因此,我无法使用函数Navigate()导航到此单例页面。Navigate()函数的替换方法如下所示 this.Frame.Content = new BlankPage2(); Window.Current.Activate(); 但是通过这种方式,当我们离开页面时,将不会调用页面的OnNavigatingFrom()。但我需要一个事件来告诉我是否有页面离开。如何操作?这似乎是一个不同寻常的设计决策,但在任何情况下,当Frame.Content属性发生更
Navigate()
导航到此单例页面。Navigate()
函数的替换方法如下所示
this.Frame.Content = new BlankPage2();
Window.Current.Activate();
但是通过这种方式,当我们离开页面时,将不会调用页面的
OnNavigatingFrom()
。但我需要一个事件来告诉我是否有页面离开。如何操作?这似乎是一个不同寻常的设计决策,但在任何情况下,当Frame.Content
属性发生更改时,您都可以得到通知:
var token = rootFrame.RegisterPropertyChangedCallback(
Frame.ContentProperty,
ContentChanged);
ContentChanged
方法可以如下所示:
private void ContentChanged(DependencyObject sender, DependencyProperty dp)
{
//do something when Content changes
}
上面的token
变量可用于以后注销属性更改通知:
rootFrame.UnregisterPropertyChangedCallback(Frame.ContentProperty, token);
这似乎是一个不同寻常的设计决策,但在任何情况下,当
Frame.Content
属性发生更改时,您都可以得到通知:
var token = rootFrame.RegisterPropertyChangedCallback(
Frame.ContentProperty,
ContentChanged);
ContentChanged
方法可以如下所示:
private void ContentChanged(DependencyObject sender, DependencyProperty dp)
{
//do something when Content changes
}
上面的token
变量可用于以后注销属性更改通知:
rootFrame.UnregisterPropertyChangedCallback(Frame.ContentProperty, token);