【发布时间】:2011-09-11 21:13:55
【问题描述】:
我正在尝试在这样的窗口中使用忙碌指示器:
<extToolkit:BusyIndicator Width="160" Height="100"
x:Name="busyIndicator" Visibility="Hidden" />
当用户选择要导入的一些文件然后我对这些文件进行一些解析时,我试图调用它。
并设置这两个属性:
importProgressBar.busyIndicator.IsBusy = true;
importProgressBar.busyIndicator.Visibility = Visibility.Visible;
在窗口弹出之前。
每当文件解析完成时,我都会调用委托函数。在里面我用忙碌指示器调用窗口。
private void ShowIndicator(ProgressReport progressReport)
{
window.Show();
if (progressReport.OverallProgress.Completed)
{
window.Close();
}
}
所以你可以在这个函数中看到我有完成的属性,完成后会自动关闭窗口,但窗口显示时没有忙碌指示符。
有人能指出为什么窗口中没有显示忙碌指示符吗?
【问题讨论】:
-
importProgressBar.busyIndicator 中的 importProgressBar 是什么?我希望它是 Window 但从名称来看,它是一个进度条?
-
那就有点头疼了。您是否有机会从不同于 UI 线程的线程调用 IsBusy=true ?您可能遇到了跨线程值操作错误,您可能需要在 UI 线程上调用 IsBusy 属性设置
-
我现在没有创建任何单独的线程。我现在只是想在工作线程上做。
-
我之前没有使用过这个控件,但是可能是 z-Order 阻止它显示(例如,它被其他控件遮挡)?也许您可以向我们展示您定义 importProgresbar 的 XAML 代码。
标签: c# wpf busyindicator