我想检查每个时间间隔的aplication状态的变化,如果它已经改变,打开一个窗口,并给用户10秒钟按下窗口,如果他按下窗口,然后允许他在窗口中自由导航,如果他不按,则返回窗口。我想用一个在后台运行的线程来实现它,并在我想要的每个时间间隔醒来。也许有更好的方法?
答案 0 :(得分:0)
这让我觉得有很多潜在的问题。
如何在不方便的时间停止向用户显示“窗口”? (例如当他们正要敲打som.ething时)
为什么不在状态实际发生变化时提出通知?这样您就不需要轮询。
您正在展示的“窗口”是什么?它与它正在替换的页面有何不同?这是一个弹出窗口还是您实际导航到另一个页面?
改变的状态是什么?没有用户互动,它会如何变化?
如果没有潜在的侵入性显示新“窗口”,您是否无法通知用户状态更改?
答案 1 :(得分:0)
我同意@ matt-lacey,这可能很危险,可能会导致糟糕的用户体验。
话虽如此,可能工作
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
//navigation code here
});
答案 2 :(得分:0)
我不知道你可以做一个弹出窗口,你能详细说明吗? 我已经创建了一个在后台运行的线程并进行了一些工作,如果它确定需要进行更改,我想让用户有机会对其做出反应,或者忽略它。 我对此很陌生,所以如果有更好的方式导航到不同的页面,我很乐意听到它。 感谢。
答案 3 :(得分:0)
听起来,我想要通知用户发生了某些事情/已经发生了变化,并让他们选择对此做些什么,这正是“吐司”通知的全部内容。它们弹出屏幕顶部以通知用户,然后用户可以点击该吐司来做某事,例如当WiFi网络可用时,您点击toast以选择可用网络。
Silverlight Windows Phone Toolkit包含用于显示Toast通知的ToastRequestTrigger
。模式中的Windows Phone Developer Guide&实践团队提供了使用ToastRequestTrigger
的示例。您需要在toast内容中自行实现点击处理,但这应该足够简单。