我正在尝试使用Xceed.WpfToolKit中的ProgressBarCircular而没有成功。
我按照以下问题帮助我完成工作:C# WPF Indeterminate progress bar
所以我的代码现在看起来像这样:
private async void ConvertButton_Click(object sender, RoutedEventArgs e)
{
this.ProgressBar.IsIndeterminate = true;
await DoWorkAsync();
this.ProgressBar.IsIndeterminate = false;
}
private async Task DoWorkAsync()
{
await Task.Run(() =>
{
this.Dispatcher.Invoke(() =>
{
// do my work (using my WPF mainWindow Fields)
});
});
}
但是我一直有例外:
对象引用未设置为对象的实例
就行了
this.ProgressBar.IsIndeterminate = false;
看看我如何在我的xaml文件和行
中声明ProgressBarthis.ProgressBar.IsIndeterminate = true;
完全正常(如果在设置为true之前声明IsIndeterminate = false,我也没有问题),我不明白可能导致此异常的原因。
原来我在DoWorkAsync函数中使用了其他UI的值(如TextBox.Text),我也没有在函数中使用Thread.Sleep(1000),因此ProgressBar.IsIndeterminate没有时间更改其值两次,从而抛出异常