WPF组件InvalidOperationException

时间:2018-02-02 19:09:55

标签: c# wpf

我无法获取WPF TextBox的文本值。

img

文本框上有许多相同的异常列表(InvalidOperationException) 为什么会发生这些异常?要删除这些例外,我该怎么办?

这些是代码段。

public partial class MainPage : Page, 
                                Autodesk.Revit.UI.IDockablePaneProvider    
{
       ...
     private static BackgroundWorker workerTimers = new BackgroundWorker();

}

public sync void LoadPage()
{
       ...
     workerTimers.DoWork += workerTimers_DoWork;
       ...
}

async void workerTimers_DoWork(object sender, DoWorkEventArgs e)
{
       ...
    SearchText = UserSearchTextBox.Text;
       ...
}

1 个答案:

答案 0 :(得分:1)

您无法从后台线程中使用WPF控件。您需要从主UI线程访问它们。使用控件上的Dispatcher属性:

UserSearchTextBox.Dispatcher.Invoke(() => SearchText = UserSearchTextBox.Text);

您是否希望在后台线程运行时更改数据?如果没有,请在启动后台线程之前抓住它。