我有这个代码。它工作但它冻结了UI。 我想知道的是如何核心使用WPF BeginInvok方法?
private void ValidateAuthURL_Click(object sender, RoutedEventArgs e)
{
((Button)sender).Dispatcher.BeginInvoke(DispatcherPriority.Input,
new ThreadStart(() =>
{
bool result = false;
try
{
答案 0 :(得分:3)
您的委托将在UI线程中执行。这就是Dispatcher.BeginInvoke
的用途。我假设您确实想要在后台线程中执行该委托...然后您应该使用Dispatcher.BeginInvoke
将返回到UI线程以便更新用户界面稍后。
在获取后台线程方面,您可以:
ThreadPool.QueueUserWorkItem
)BackgroundWorker
Task.Factory.StartNew
(如果您使用的是.NET 4)