0

WPF vb.net 桌面应用程序。

我有一个简单的测试布局。一个MainWindow, btnMain, frame1, page1btnPage1.

如果btnPage1单击事件正忙于background worker(正在下载某些东西),那么阻止用户单击直到后台工作人员从第 1 页完成的最佳方法是btnMain什么Main Window

ADD*:我可以使用 NavigationService.Navigating 事件在 backgroundworker 为 false(done) 之前警告用户吗?我会怎么做?

4

1 回答 1

0

如果您有多个控件需要禁用,则将页面上的所有控件包装在BusyIndi​​cator中。

它是 WPF Toolkit 的一部分,您可以像这样使用它:

<xctk:BusyIndicator IsBusy="{Binding IsBusy}" >
        <ContentControl Style="{StaticResource SampleContent}"/>
</xctk:BusyIndicator>

IsBusy当(视图模型上的属性)为真时,这将禁用其中的所有内容。

因此,将其设置为true开始下载时,并将其重置为false下载完成事件。

该控件具有BusyContent可用于显示自定义消息的属性。您甚至可以自定义消息的内容以显示下载进度:

忙碌指示器变体

于 2013-06-18T19:51:00.647 回答