线程自动完成SelectedItem

时间:2014-01-29 22:21:17

标签: c# wpf multithreading autocomplete

我需要为数据库中的潜在长时间加载一个方法。在此方法中,它需要检查自动完成框的SelectedItem。我已经想出如何像这样更新文本块;

myCreditTotalTextBlock.Dispatcher.Invoke(new Action(() => 
    runningCreditTotalTextBlock.Text = "Loading"), 
    System.Windows.Threading.DispatcherPriority.Normal, null);

虽然无法弄清楚如何查看自动完成的SelectedItem。

感谢您的帮助

编辑: 感谢@Sheridan,这很有效;

ThreadPool.QueueUserWorkItem(o => Method(m));

1 个答案:

答案 0 :(得分:1)

我不确定你要完成什么,但是

  

您无法从后台线程访问UI元素

SelectedItem AutoCompleteBox 是一个UI元素,因此您无法从后台线程访问它。通常,我们只在后台线程中运行长时间运行的进程,因此UI似乎不会冻结。如果您的漫游过程需要SelectedItem AutoCompleteBox的信息,那么只需复制一份,然后传递 ,或者只传递其属性值