我有一个连接到ViewModel的View . 我有一个由foo.Current公开的单例类 . 我在该类上有一个属性,它将通过调用foo.Current函数的按钮单击命令进行更改 . 我希望能够将文本框的文本绑定到该值,当该值更新时,文本框将更新 . 我的ViewModel确实实现了INotifyPropertyChanged,我在视图模型上有其他属性可以更新控件 . 我可以使用单值类用新值更新ViewModel的最佳方法是什么?我想我需要想办法让Singleton类更新ViewModel .
2 回答
目前的情况没有“最佳”方式,选项如下:
在viewmodel中定义属性,并将该viewmodel传递给您的单例 . Singleton应该改变相关的属性和它自己的属性 .
将属性从singleton移动到viewmodel或在viewmodel本身中包含singleton
创建一个事件以更改单例上的属性
从INotifyPropertyChanged继承单例,并在VM中附加到singleton的PropertyChanged事件 . 并监控您的 property 名称 .
......
尽管您的应用中可能存在一些应该被处理的架构不一致,但最简单的方法是第一个选项 .
如果我理解你,我会使用Observer模式 .