我做了什么, 我有 HomeViewModel 和 SellsViewModel。
在 HomeViewModel 中,我有属性“SellID”
在 SellViewModel 的构造函数中,我能够解析 HomeViewModel 的引用并将其存储在 SellViewModel 的 m_objHomeViewModel 变量中
在 SellViewModel 的 XAML 中,我有一个显示“SellID”的文本框,该文本框绑定到“m_objHomeViewModel.SellID”
我正在做什么这样 做,每当用户在 HomeViewModel 上选择差异“Sell”时,我的 SellViewModel 会自动选择它并在 SellView 中显示更改。
问题
由于 SellView 中的 XAML 文本框绑定到 HomeViewModel 中的属性,因此更改会立即反映在 UI 上
但是我无法在 SellViewModel 中捕获任何事件(例如属性更改),捕获此类事件我想从数据库中为选定的“SellID”加载其他值。
我没有使用事件聚合器。如果使用,我可以轻松订阅 HomeViewModel 发布的 SellViewModel 中的事件
Q1:不使用事件聚合器怎么办?
Q2:如果在XAML中TextBox绑定了属性m_objHomeViewModel.SellID,会不会造成内存泄露?
Q3:如果在 HomeViewModel 中,我会引用 SellViewModel(使用 container.resolve)并在 HomeViewModel 中的“SellID”属性被修改时调用 SellViewModel 的公共属性或方法。这是一个好的编程习惯吗?在这里我认为它会在 HomeViewModel 和 SellViewModel 之间创建紧密耦合
请就此提出建议...
问候