在Silverlight 4中打印期间如何显示总线指示器?

在Silverlight 4中打印期间如何显示总线指示器?,silverlight,silverlight-4.0,c#-4.0,Silverlight,Silverlight 4.0,C# 4.0,我想在打印期间显示总线指示器。如果我在BeginPrint事件中打开BusyIndicator并在EndPrint事件中关闭它,则BusyIndicator.DisplayAfter设置为0时将不会显示。我认为这是因为实际的打印是在不同的线程上进行的。因此,如果我在实际调用PrintDocument.Print之前打开它,BusyIndicator确实会显示,但我当然不希望用户在实际打印之前选择打印机时BusyIndicator出现 我尝试创建作为BusyIndicator.IsBusy绑定的D

我想在打印期间显示总线指示器。如果我在BeginPrint事件中打开BusyIndicator并在EndPrint事件中关闭它,则BusyIndicator.DisplayAfter设置为0时将不会显示。我认为这是因为实际的打印是在不同的线程上进行的。因此,如果我在实际调用PrintDocument.Print之前打开它,BusyIndicator确实会显示,但我当然不希望用户在实际打印之前选择打印机时BusyIndicator出现

我尝试创建作为BusyIndicator.IsBusy绑定的DependencyProperty实现的用户控件的属性,并在BeginPrint和EndPrint事件中设置该属性的值true/false。我通过在打印之外将其设置为true来测试与此属性的绑定,并且它可以正常工作。但是,当我在打印事件中设置该属性时,什么也没有

我也不能在BackgroundWorker中执行BeginPrint或EndPrint事件中的任何工作


我怎么能打开我的巴士指示器呢?

来自俄罗斯的黑客我是这样做的:。这里,我正在打印带有showing busyindicator的DataGrid。

当您看到BeginX时,您可以放心地假设它是一个异步进程。您可以添加自己的waithandle并查找表示完成的事件。silverlight尚未完成此操作,但期待看到最终解决方案。不确定此操作是否适用于您,但我很好奇,并尝试了一下。我用按钮启动一些打印。单击事件。在这种情况下,我打开了BusyIndicator,然后在PrintDocument.EndPrint中关闭它。看看这里的同一个问题,不要以“HACK”开始你的帖子