我需要为数据库中的潜在长时间加载一个方法。在此方法中,它需要检查自动完成框的SelectedItem。我已经想出如何像这样更新文本块;
myCreditTotalTextBlock.Dispatcher.Invoke(new Action(() =>
runningCreditTotalTextBlock.Text = "Loading"),
System.Windows.Threading.DispatcherPriority.Normal, null);
虽然无法弄清楚如何查看自动完成的SelectedItem。
感谢您的帮助
编辑: 感谢@Sheridan,这很有效;
ThreadPool.QueueUserWorkItem(o => Method(m));
答案 0 :(得分:1)
我不确定你要完成什么,但是
您无法从后台线程访问UI元素。
SelectedItem
的AutoCompleteBox
是一个UI元素,因此您无法从后台线程访问它。通常,我们只在后台线程中运行长时间运行的进程,因此UI似乎不会冻结。如果您的漫游过程需要SelectedItem
AutoCompleteBox
的信息,那么只需复制一份,然后传递 ,或者只传递其属性值