Silverlight печать занята \ индикатор выполнения - PullRequest
1 голос
/ 02 октября 2010

Я использую Silverlight 4 для печати, но мне нужен какой-нибудь индикатор выполнения или индикатор занятости.

Я пытался использовать индикатор выполнения, но он на самом деле не работает.У меня есть 2 проблемы:

  • индикатор выполнения не указывает на прогресс, у меня IsIndeterminate = True, но он не анимируется при запуске печати (нажата кнопка «Печать» диалогового окна печати)
  • видимость индикатора выполнения не устанавливается в нужное время, в зависимости от того, куда я поместил код для установки видимости, он отображается либо слишком рано (до нажатия кнопки печати), либо слишком поздно (после того, как печать работала некоторое время)

Я предполагаю, но я думаю, что причина вышеизложенного заключается в том, что при отображении диалогового окна печати Silverlight передает управление ОС для печати (??).

Я пыталсяиспользуя диспетчерский вызов, но я получаю исключение безопасности (диалоговое окно может отображаться только по щелчку пользователя).

Есть какие-нибудь идеи о том, как справиться с любой из вышеперечисленных проблем?

спасибо.

1 Ответ

1 голос
/ 20 января 2011

Создайте BusyIndicator в вашем XAML, он является частью набора инструментов Silverlight.А затем во время события BeginPrint установите IsBusy BusyIndicator в True.Также во время EndPrint установите IsBusy обратно в false.

  var docToPrint = new PrintDocument();

        docToPrint.BeginPrint += (s, args) =>
            {
                MyBusyIndicator.IsBusy = true;
                MyBusyIndicator.BusyContent = "Printing...";
            };

        docToPrint.PrintPage += (s, args) =>
            {
             args.PageVisual = this.MainCanvas;                      
            };

        docToPrint.EndPrint += (s, args) =>
            {
                MyBusyIndicator.IsBusy = false;
                MyBusyIndicator.BusyContent = "";
            };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...