gpt4 book ai didi

silverlight - 从 win 7 手机中的用户控件导航

转载 作者:行者123 更新时间:2023-12-04 03:02:29 25 4
gpt4 key购买 nike

我无法从用户控件调用导航服务。即使我在主页上创建一个事件处理程序来调用老挝不工作的导航服务。

你能帮帮我吗?

最佳答案

我想我看到了问题,但正如 Austin 指出的那样,您最初的描述中没有太多内容可以继续。听起来您正试图从放置在该页面上的 UserControl 中访问 NavgationService(这是一个 PhoneApplicationPage 属性)。

与这些 API 中的许多内容一样,您有多种选择。首先,您可以访问 PhoneApplicationFrame (包含您的页面并管理导航)并将其用于导航:

var frame = App.Current.RootVisual as PhoneApplicationFrame;
frame.Navigate(new Uri("/TargetPage.xaml", UriKind.Relative));

或者,您可以使用 VisualTreeHelper 遍历控件的可视化树直到你到达包含页面:

var page = GetParentOfType<PhoneApplicationPage>(this); // this is your user control


private static T GetParentOfType<T>(DependencyObject item) where T : DependencyObject
{
if (item == null) throw new ArgumentNullException("item");
T result;
var parent = VisualTreeHelper.GetParent(item);
if (parent == null) return null;
else if (parent.GetType().IsSubclassOf(typeof(T))
{
result = (T)parent;
}
else result = GetParameterOfType<T>(parent);
return result;
}

如您所见,VisualTree 方法涉及更多代码,但会为您提供包含页面对象,您可以在其中更多地访问 NavigationContext 等内容等

希望这是你的问题(和你的答案。)

关于silverlight - 从 win 7 手机中的用户控件导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5025427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com