我嘗試了下面的其他問題,通過使用Dispatcher從工作線程向WPF文本塊添加一些內容。我使用下面的方法:InvalidOperationException更新TextBlock
private void AppendLineToChatBox(Inline message)
{
chatBox.Dispatcher.BeginInvoke(new Action(() =>
{
chatBox.Inlines.Add(message);
chatBox.Inlines.Add("\n");
scroller.ScrollToBottom();
}));
}
與XAML:
<Grid Height="200" Width="300" HorizontalAlignment="Left">
<ScrollViewer Name ="scroller">
<TextBlock TextWrapping="Wrap" Background="White" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Name="chatBox" />
</ScrollViewer>
</Grid>
當我打電話AppendLineToChatBox()從後臺線程我仍然得到以下異常:
系統。 InvalidOperationException未處理HResult = -2146233079
Message =調用線程無法訪問此對象,因爲 不同的線程擁有它。
正確的方法將不勝感激。
在哪條線得到的異常呢?你確定它不是關於'scroller.ScrollToBottom()'? – maximpa 2013-03-15 00:06:13
由chatBox.Inlines.Add拋出異常(消息) – CanCan 2013-03-15 00:08:34
我不認爲這是一個重複的問題,因爲我已經在使用調度程序。 – CanCan 2013-03-15 00:10:17