问题标签 [navigationservice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
8017 浏览

c# - NavigationService.导航错误

我对 C# 编程很陌生,我的代码有问题。我创建了一个按钮并在其上应用了一个事件单击,该事件通过 NavigationService 技术打开我的项目的另一个页面。

这是脚本:

当我执行时,我得到这个错误:

你能帮我吗?

0 投票
1 回答
216 浏览

vb.net - WP8 应用程序中的 NavigationService 错误

我正在尝试实现简单的代码,它允许用户转到另一个应用程序页面,并将参数/变量“Totall”转移到下一页:

但我收到一个错误“未声明导航服务”。为什么会发生?这是 Framework 4.5 上的 WP8.1 应用程序 这不是 Silverlight 应用程序。是的,我已声明 Imports Windows.UI.Xaml.Navigation 谢谢!

0 投票
0 回答
1066 浏览

wpf - WPF - NavigationService 内存问题

我需要为 kiosk 终端编写一个应用程序,为此我选择 WPF,因为我需要单窗口应用程序。实现很简单 - NavigationWindow 和一组 Pages,在 NavigationService.Navigate() 方法中使用。

在使用该应用程序的过程中,我看到它冻结,消耗大量内存。我发现当内容被导航到时,NavigationService 将导航记录为导航历史中的一个条目。我开始使用 NavigationService.RemoveBackEntry() 方法清理历史记录。

是的 - 历史被清除,但页面的终结器不会调用。页面仍在内存中,并且仅在应用程序关闭时才调用终结器。我可以从一个页面转到另一个页面,然后返回几次 - 应用程序将消耗大约 150-200 Mb(从 5-6 Mb 开始)。

我用内存分析器检查了应用程序,发现使用的内存没有增加 - 它大约 5-8 Mb,但工作集消耗大量内存。

所以我找到了一种清除工作集的方法,但我并没有想到这是一种错误的方法。解决方案必须更容易。

文档说 NavigationService 不会在导航历史记录中存储内容对象的实例。相反,NavigationService 会在每次使用导航历史导航到内容对象时创建一个新实例。此行为旨在避免过多的内存消耗。但正如我所见,它不是这样工作的。

我认为这种行为仅在 NavigationService 使用 URI 进行导航时有效(我调用 Navigate(new MyPage()) 进行导航),但即使使用 URI 也不起作用 - 即使我清除历史记录,页面实例仍在内存中杂志。

所以这里是问题:

1)其他人也遇到过类似的问题吗?

2) 这是使用 NavigationWindow 构建单窗口应用程序的正确和最佳方式吗?

0 投票
0 回答
82 浏览

c# - 静态变量在导航上变为空

在我的 Windows Phone 8 应用程序中,我有一个在静态变量中临时存储要在导航页面之间使用的对象的类。问题是当这个对象太大时,例如一个大的字节数组(大约 1,000,000 字节),当导航发生时这个变量被简单地设置为 null。为什么会这样?有没有办法防止这种行为?

0 投票
0 回答
23 浏览

c# - 停止后退按钮从缓存中重新加载特定变量

我的 ViewModel 有一个属性,它填充了当前数量的通知。
如果您转到新页面并收到新通知,您会看到新号码出现。
当您按下返回时,通知现在会显示旧的通知数量。

有没有办法停止缓存属性以避免在其上缓存后退按钮。

0 投票
1 回答
362 浏览

windows-phone-8 - Windows Phone 8.1 NavigationService.navigate not working

I have a problem with NavigationService. When I click the button , my application always ends, instead of having to be redirected to another page. I use NavigationService many times in my project and it works well, only in this case does not work.

Here is my XAML:

Thanks for advice.

0 投票
1 回答
139 浏览

vsto - VSTO、CATEL 中的 NavigationService 为空

我正在使用 Catel 框架开发 VSTO 应用程序。尝试主要从 TaskPane 而不是 Window 创建用户界面。因此,我唯一可用的控件是用户控件。尝试导航到另一个视图时遇到以下问题,我在Catel.Services.NavigationService.NavigateWithParameters(String uri, Dictionary2 个参数处遇到 NullReference 问题)`。选中后,RootFrame 为空。

null RootFrame 是罪魁祸首吗?可以理解的是,导航是从 Frame 触发的,当检查到 Catel 的源时,RootFrame 总是从 Window.Current 派生的。但在TaskPane 的上下文中我不太确定。

任何替代/解决方法?谢谢你。

详细的错误信息

0 投票
1 回答
368 浏览

c# - NavigationService 在 Windows Phone 8 上的 c# 中引发 AccessViolationException

请记住,我对编程非常陌生。我设法将图像设置为 bing 地图上的自定义标记,根据来自 JSON 提要的数据选择图像并将其放置在地图上。我有一个列表视图页面,您可以在其中查看洪水警告,单击此列表中的一个项目会将您带到另一个页面,其中包含该特定洪水的更多详细信息。我想要它,所以当有人点击地图上的标记时,它会将他们带到与该洪水对应的信息页面。(这有点令人费解,但我希望这很清楚)

我很难让它工作,从列表视图导航到信息页面的代码很简单,

但是试图让标记可点击以便导航到同一个地方是有问题的,

很明显,listview 代码是从实际的 listview 页面 (ListView.xaml.cs) 导航的,而标记代码不在我要导航的页面的 cs 文件中(在 SetMap.cs 中,而不是 MapView.cs 中)。 xaml.cs 地图和标记所在的位置),即它在外部导航。

所以我不知道该怎么做才能克服这个问题,我创建了该Navigation方法,因为获取对象引用是必需的错误

即使在尝试之后

现在我得到了Navigate调用时抛出的 AccessViolationException 。有任何想法吗?

编辑
我现在已经寻求一个更简单的解决方案(使用 CustomMessageBox,它完成了工作),但我仍然非常感谢这个解决方案。我知道这可能是一个非常具体的问题,因此可能需要一个同样具体的答案。代码有点混乱,但这是由于我缺乏培训或经验。

0 投票
1 回答
1149 浏览

wpf - WPF 从外部框架导航页面

我必须创建 wpf 浏览器应用程序。它有 2 个框架:

通过按下内容框架中的按钮,我成功地在内容框架中从一个页面导航到另一个页面。

我怎么能做同样的行为,但从外部框架,菜单框架。我想在第一框架菜单框架中有一个超链接,并在第二框架(内容框架)中导航页面。

0 投票
2 回答
746 浏览

c# - 在不从 BackStack 中删除实际页面的情况下向后导航

我正在开发一个 WP 8 应用程序,但我遇到了导航问题。

我找不到在不丢失实际页面状态的情况下导航到后堆栈上的页面的方法。

情况是这样的:

  1. 我在页面 A 并导航到页面 B,因此后堆栈仅包含 A。
  2. 在页面 BI 上想要导航回页面 A,但页面 B 保留在后堆栈上,所以当我再次在页面 A 上时,我可以返回页面 B 并保留它的状态。

就是这样:A --> B --> A --> B,这是一个循环,但它不是一个循环。页面 A 显示的项目也显示在页面 B 中,但细节较少,但从页面 BI 可以转到页面 A 以查看详细信息,然后再返回。

它可能看起来很复杂,但我向你保证它非常直观:) 它在 Android 和 iOS 上就像这样工作。

无论如何要在页面 A 之前将页面 B 添加到导航堆栈中,所以当我调用 NavigationService.GoBack() 时,它会以之前的状态返回到页面 A,然后从 A 到 B 执行相同的操作。

提前致谢!!!