Tag: 棱镜

Silverlight的Prism:如何在区域内以特定顺序维护视图

我正在为SL创建一种“导航面板”(实际上是一个ItemControl),并使用Regions允许每个模块将其链接添加到面板。 问题是模块加载不一致,因此面板中链接的顺序可以根据模块加载顺序而改变。 限制模块顺序是不可能的。 其他可行的选项是将区域的Views Collection绑定到ItemControl的顺序,问题是ViewCollection非常有限,因此对它进行排序非常困难。 我错过了一个选项吗,你有什么想法吗? 谢谢阿里尔

MVVM:修改模型,如何正确更新ViewModel和View?

案件 假设我有一个Person类,一个PersonViewModel和一个PersonView 。 将PersonView中的属性更新为Person模型非常简单。 PersonViewModel包含一个Person对象,并具有PersonView绑定的公共属性,以便更新Person模型。 然而。 想象一下, Person模型可以通过Service更新。 现在需要将属性更改传递给PersonViewModel ,然后传递给PersonView 。 我就是这样解决的: 对于Person模型中的每个属性,我都会引发PropertyChanged事件。 PersonViewModel订阅Person的PropertyChanged事件。 然后PersonViewModel将引发另一个PropertyChanged以更新PersonView 。 这对我来说似乎是最明显的方式,但我有点想把这个问题抛到那里,希望有人能给我一个更好的方法。 这真的很简单,还是有更好的方法将模型标记为已修改并更新ViewModel上的相应属性? 附加 PersonView的DataContext是PersonViewModel 。 Person从JSON填充并在其生命周期内多次更新。 随意为我的特定情况建议架构更改。 回答 我将aqwert标记为我问题的答案,因为它为我提供了我已经提出的解决方案的替代方案。