2011-07-12 51 views
1

在我的Silverlight应用程序中,我想显示一个子窗口,提示用户他是否要离开页面或停留。Silverlight在OnNavigating中阻止UI线程

问题是UI线程在显示子窗口时继续执行。因此,我无法根据子窗口的结果设置NavigatingCancelEventArgs.Cancel

我怎样才能解决这个问题?

谢谢

回答

1

解决此问题的一种方法是向您的页面添加一个实例变量。我们称它为allowNavigate并将其初始设置为false。然后,当导航发生并allowNavigate!= true时,取消导航并调用您的确认对话框。当该对话框结束并显示用户想要离开页面时,将allowNavigate设置为true并以编程方式重复导航。