c# - 服务器版本同步,C# MVVM: 在保持模型的同时绑定模型

  显示原文与译文双语对照的内容
133 5

我花了很多时间尝试寻找一个优雅的解决方案。我找不到一个超过 hack的解决方案。

我有一个视图。视图视图和模型的简单设置。为了解释,我将保持很简单。

  • Model 有一个名为 String Title的属性。
  • ModelView的DataContext 。
  • View 有一个 TextBlock,它在模型上重新绑定到 Title
  • ViewModel 有一个名为 Save()的方法,它将 Model 保存到 Server
  • Server 可以推动对 Model 所做的更改

到目前为止,为了保持模型与 Server 同步,我需要做两个调整。服务器的类型不重要。要知道,我需要调用 Save(),以便将模型推送到 Server.

调整 1:

  • Model.Title 属性需要调用 RaisePropertyChanged(),以便将对 Model 所做的更改转换为 Server因为 ModelView的DataContext,所以它很好地工作

不算太坏,

调整 2:

  • 下一步是调用 Save() 将由 View 所做的更改保存到 Server 上的Model这就是我被卡住的地方。当模型变更时,我可以以处理 ViewModel 上调用 Save()的Model.PropertyChanged 事件,但这使得它能够回声服务器所做的更改。

我正在寻找一个优雅和逻辑的解决方案,如果有意义,我愿意改变我的体系结构。

时间:原作者:0个回答

...