在我的Windows Phone 8.1应用程序中,我想获取当前页面类型,如果它与我的检查匹配则刷新该页面。怎么做?这不起作用:
Frame rootFrame = Window.Current.Content as Frame;
答案 0 :(得分:5)
你可以这样:
var pageType = (Window.Current.Content as Frame).Content.GetType();
关于提神:
如果您只想刷新特定类型的网页(让我们称之为MyPage
),您可以执行以下操作:
var page = (Window.Current.Content as Frame).Content as MyPage;
if (page != null) {
page.Refresh(); //This is a method that you implement in the page, that refreshes it
}
如果您要刷新多种类型的页面,请使用一个名为Refresh的方法创建一个界面,并在上面的示例中使用as IMyInterface
而不是as MyPage
。
现在,如果您真的想通过导航进行刷新(这似乎不是最好的主意),您可以执行以下操作:
var frame = (Frame)Window.Current.Content;
frame.Navigate(typeof(MyPage));
frame.BackStack.RemoveAt(frame.BackStack.Count - 1); //Or RemoveAt(0), haven't tested it
但是这种方法在某些情况下不起作用。