组合框项目加载事件WPF?
问题描述:
我有一个组合框,其ItemsSource设置为ObservableCollection属性,名为DATA,通过绑定。 此列表包含大量数据,因此组合框需要一些时间才能完全加载所有项目。组合框项目加载事件WPF?
我有一个后台工作人员获取所有信息,并完成后设置ObservableCollection属性数据。当发生这种情况时,我显示一个进度指示器,但是,在设置了ObservableCollection数据后,用户界面似乎仍然挂起很长一段时间,然后组合框将全部加载。
是否有组合框上的事件让我知道何时所有项目都已在UI中正确呈现?
感谢
答
您可以使用下面的代码作为参考,这里的进度条和搜索都在同一个线程中运行,与调度员正在被用来notifiy的UI:
DoWorkEventHandler workHandler = null;
RunWorkerCompletedEventHandler doneHandler = null;
Action<parameters> actionCompleted = null;
BackgroundWorker worker = new BackgroundWorker();
worker.DoWork += workHandler =
delegate
(
object oDoWrk,
DoWorkEventArgs eWrk
)
{
worker.DoWork -= workHandler;
ServiceProxy service = new ServiceProxy();
service.EventWorkCompleted += actionCompleted =
delegate(<parameters>)
{
service.MethodWorkCompleted -= actionCompleted;
currentDispatcher.BeginInvoke(
new Action<<parameters>>(
OnActionCompleted), <parameters>);
};
Messenger.Default.Send(
new ShowProgressViewMessage(new ProgressViewModel("Loading...")));
service.ServiceMethod();
};
worker.RunWorkerCompleted += doneHandler =
delegate
(
object oDone,
RunWorkerCompletedEventArgs eDone
)
{
Logger.LogVerbose("Method Called");
worker.RunWorkerCompleted -= doneHandler;
};
worker.RunWorkerAsync();
private
void OnActionCompleted(<parameters>)
{
}
更新:只是因为版权问题而改变执行方式,希望你不要介意。
会做..谢谢 – Dan 2011-01-21 20:03:51