【发布时间】:2013-12-11 00:24:42
【问题描述】:
我有一个带有一些页面的 NavigationWindow。我用按钮从一个导航到另一个,然后返回导航窗口的功能。我的问题是我在某些页面加载时使用了描述符,并且我想在您在导航窗口中使用返回功能时处理它(实际上“描述符”是 Kinect,当页面加载时,它会启动Kinect 与 sensor.start(),我想在返回时停止它,sensor.stop()...但我认为它与此问题的文件描述符相同,并且更多人使用文件描述符)。
有什么方法可以扩展页面中的 GoBack 函数来处理描述符(在我的代码中我只需要调用 sensor.stop(); )?
提前致谢
【问题讨论】:
-
如果我正确理解您的要求,我的做法是:在页面的 OnNavigatedTo 事件中处理描述符处置。
-
谢谢。我会尝试 OnNavigated,但在 Page.OnNavigatedFrom 中,因为我在页面中具有描述符的引用,该页面变为非活动状态。
-
我试过了,但是 WPF 没有实现 Page.OnNavigatedFrom :(
-
是的,您是对的,因此我在回答中建议了另一种方法。但无论如何,很高兴知道你找到了自己的方法。对有类似问题的其他人有用。
-
您的方法与我的方法非常相似:使用导航事件。但在我的方法中,您在自己的对象/页面中使用事件,因此您可以直接访问所有对象属性。如果从另一个对象调用它,则必须允许访问要处理的属性:您必须将它们设为公共(公共 Kinect 传感器;而不是私有 KinectSensor 传感器;)或实现类似 public void CloseKinect() 的方法。无论如何,您的回答非常有用,我标记为有用:)
标签: wpf c#-4.0 navigationservice navigationwindow