Как я могу отобразить BusyIndicator во время печати в Silverlight 4? - PullRequest
1 голос
/ 30 декабря 2010

Я хочу отображать BusyIndicator во время печати.Если я включаю свой BusyIndicator в событии BeginPrint и выключаю его в событии EndPrint, он никогда не появляется (BusyIndicator.DisplayAfter имеет значение 0).Я предполагаю, что это потому, что фактическая печать происходит в другом потоке.Поэтому, если я включу его перед фактическим вызовом PrintDocument.Print, BusyIndicator отобразит, но, конечно, это не то, что я хочу (BusyIndicator появляется, когда пользователь просто выбирает свой принтер до фактической печати).

Я попытался создать свойство моего пользовательского элемента управления, реализованного как DependencyProperty, с которым связан BusyIndicator.IsBusy, и задал значение этого свойства true / false в событиях BeginPrint и EndPrint.Я проверил привязку к этому свойству, установив значение true вне печати, и оно работает.Но тем не менее, когда я устанавливаю это свойство в событиях печати, ничего.

Я не могу выполнять никакую работу с событиями BeginPrint или EndPrint в BackgroundWorker.

Как, черт возьмия могу включить свой BusyIndicator?

1 Ответ

0 голосов
/ 11 марта 2011

хак из России))) Я сделал это так: https://cid -99a78e3907425ccf.office.live.com / self.aspx / Sources / PrintDataGrid.RAR .Здесь я печатаю свою DataGrid с показом busyindicator.

...