下面的代码非常简化。我正在尝试抽象调度程序上下文,以便我的视图模型可以同步只能在 GUI 线程上引发的事件。
此模式中有一个循环引用。有没有其他方法可以创建一个DispatcherObject
?我做错了吗?
我读过其他类似的问题,但答案似乎都涉及DispatcherObject
对ViewModel
. 这是一个可以接受循环引用的地方吗?
class ViewModel {
public DispatcherObject Dispatcher { get; set; }
}
class ModelView : UserControl {
ModelView() {
InitializeComponent();
DataContext = new ViewModel { Dispatcher = this };
}
}