【发布时间】:2013-07-21 02:18:30
【问题描述】:
我在我的 wpf 应用程序中使用树视图。子元素必须在后台线程中加载。
我应该用什么来完成这项任务?后台工作者?我应该如何重写它?我的视图模型是:
public class SpaceObjectViewModel : TreeViewItemViewModel
{
private SpaceObject mSpaceObject;
private BackgroundWorker mBackgroundWorker;
public SpaceObjectViewModel(SpaceObject spaceObject, SpaceObjectViewModel parentViewModel)
: base(parentViewModel, true)
{
mSpaceObject = spaceObject;
}
public string Name
{
get { return mSpaceObject.Name; }
}
protected override void LoadChildren()
{
foreach (SpaceObject space in DataManager.Instance.Read(mSpaceObject.ObjectId))
base.Childrens.Add(new SpaceObjectViewModel(space, this));
}
}
【问题讨论】:
-
Bgw 可能会起作用。你查过怎么用吗?你只需要注册它的事件。
-
您可以使用异步和等待语句。
-
Base.Children 是什么样的?
标签: c# wpf backgroundworker