我的Windows应用商店应用程序有问题。
我有观点;在该视图中,我显示可以在此视图中修改的数据。一旦用户完成修改信息,他们必须单击"完成"按钮将信息存储在数据库中。
但是,当有太多信息要存储时,处理需要很长时间,并且UI对用户操作是开放的。如果用户进行操作,我的应用程序将抛出异常,因为控件不再存在数据。
所以我搜索了一种阻止UI的方法(比如messagedialog
:在存储数据时等待)。我尝试了使用消息对话框,但一旦我点击yes
,我的存储方法就会启动,消息对话框就会直接关闭,因此用户可以通过他的操作创建异常。
我的问题是:在Windows应用商店应用程序中进行处理时,如何阻止用户界面?
您可以在整个页面内容上添加Grid
,例如ProgressBar
。然后,当您执行长时间操作并且希望避免用户与应用程序交互时,显示它。操作完成后,只需更改页面的状态(从顶部隐藏Grid
)。
另一种方法是,如果没有很多UI元素要阻止,则在执行操作时将Button
的IsHitTestVisible
属性和其他可单击元素设置为false
。