1

我有一个场景,其中一个视图和视图与多个 ViewModel 绑定。

例如。一个显示电话详细信息和 ViewModel 的视图,如下所示:

  • 电话基本功能-PhoneViewModel,
  • 电话价格详情 - PhoneSubscriptionViewModel,
  • 手机配件-PhoneAccessoryViewModel
  • 对于一般属性 - PhoneDetailViewModel

我已经将 View 的一般属性放到 PhoneViewModel 中。现在的情况是这样的:

默认情况下,View 显示与PhoneViewModel 的 ObservationCollection绑定的 Phone Basic 功能。我的视图有按钮- “查看附件”,单击此按钮一个弹出屏幕-在我的设计中,我有显示/隐藏网格并将其与PhoneAccessoryViewModel 的 ObservationCollection绑定。

现在问题开始了 - 附件列表也有按钮“查看详细信息”onclick 我必须打开一个弹出屏幕,在这里我也放置了一个网格并可见/隐藏它。我已将“ViewAccessoryDe​​tailCommand”命令绑定到“查看详细信息”按钮。并在命令执行时触发一个函数并设置可见弹出屏幕的属性。

使用此类编程命令会触发函数调用,但不会引发属性更改,因此我的视图不会显示弹出窗口。

摘要:一个视图--> ViewModel1-->网格绑定视图ViewModel2-->网格有按钮和Onclick显示与ViewModel3绑定的新网格-此命令触发但属性未引发。

我认为我的方法有问题,请提出您的建议。

4

2 回答 2

1

在 WPF中,通过将View的 设置为ViewModel ,将View连接到ViewModelDataContext

由于每个控件只能有一个DataContextView只能有一个ViewModel

于 2010-03-13T10:05:49.507 回答
1

我不确定我是否完全遵循您要问的问题,但我会尝试回答。我昨天发布了(可能)类似问题的答案。

在 WPF 中查询 MVVM 模式?

MVVM - 用户控件相互交谈的理想方式是什么

我不确定它是否有效,但我希望这会有所帮助。

于 2010-03-13T10:57:35.523 回答