Пробовал ли кто-нибудь cal: Message.Attach для событий Telerik WPF ReportViewer?cal: Message.Attach проблемы с Telerik WPF ReportViewer
Есть ли причина, по которой я не могу использовать Caliburn.Micro Message.Attach для события WPF ReportView PrintEnd для обмена данными между View и ViewModel? ReportView - это элемент FrameworkElement. Я связывание работаю хорошо для ReportSource
.NET 4.5
Telerik.ReportViewer.Wpf 9.0.15.225
Caliburn.Micro 2.0.2.0
я получаю следующее при попытке это:
System.InvalidOperationException was unhandled
Message: An unhandled exception of type 'System.InvalidOperationException' occurred in WindowsBase.dll
The calling thread cannot access this object because a different thread owns it.
WPF управление пользователем
<tr:ReportViewer Name="reportViewer"
ViewMode="PrintPreview"
ZoomMode="FullPage"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
ReportSource="{Binding Path=ReportSource}"
cal:Message.Attach="[PrintEnd]=[OnPrintEnded()]"
/>
ViewModel (Caliburn.Micro экран)
public void OnPrintEnded()
{
//
}
Кажется, что CM присоединяет событие, но сообщение выталкивается из другого потока, чем тот, на который включен мой экземпляр VM. Я создал очень легкий проект с минимальным значением Caliburn.Micro.Start и единственным Reportviewer и пустым классом отчетов в ShellView.xaml, чтобы изолировать проблему, но получить точные результаты.
У меня есть обходной путь придумал, но хотел бы видеть, если это может быть решено
Спасибо, я пробовал это, но это не повлияло. Я могу прикрепить PrintBegin, ExportBegin и ExportEnd (используя любой стиль) без проблем, однако PrintEnd специально выбрасывает это исключение. Возможно, это связано с тем, как Telerik ReportViewer запускает событие. – Mike