【问题标题】:How to call parent ViewModel method when child view is closed mvvm子视图关闭时如何调用父ViewModel方法mvvm
【发布时间】:2018-07-19 19:41:43
【问题描述】:

我有两种表单,分别是父表单子表单。在父表单中包含 Treelist 项目,当我单击每个项目时,将显示其他表单(子表单)以重命名焦点 treelist 项目。重命名它并单击子表单中的保存按钮后,子表单会在保存完成后自动关闭,并更新我在父表单中所做的更改。 我想通过在父视图模型中调用“重新加载”方法来关闭子表单时重新加载父表单中的数据。 我尝试将子表单关闭事件与父表单中的命令绑定,但它不起作用。

_fluent.WithEvent(ChildForm, "FormClosing").EventToCommand(x => x.Reload());

【问题讨论】:

  • 是的,告诉我们你想做什么很好,但你需要付出更多的努力。你是如何将这一切整合在一起的,你是否使用一些 mvvm 框架,谁正在创建 Viewmodels和意见......我投票结束,直到你更具体
  • 我已经更新了我的问题

标签: c# winforms mvvm devexpress


【解决方案1】:

您很可能正在使用 DevExpress MVVM WinForms 框架。如果是这样,一般来说,不同视图模型之间的通信,可以使用Messenger。因此,一旦您的父视图模型从您的视图模型接收到相应的消息,您就可以调用 Reload 方法。

【讨论】:

  • 还有其他方法可以避免使用 Messenger 吗?这不是很好的实现,如果许多视图模型使用 messenger 但在不同的部分实现,则会出现问题。
  • 使用 Messenger 和多视图模型应该没有问题,因为 Messenger 支持专门为此目的设计的令牌。
猜你喜欢
  • 2011-03-09
  • 2010-11-27
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-20
  • 1970-01-01
相关资源
最近更新 更多