确定调用Command的View / UserControl

时间:2011-09-02 04:01:37

标签: c# mvvm

是否有任何确定的方法来确定调用哪个View(UserControl)命令?

例如,如果我有两个视图,每个视图绑定到同一个ViewModel,我如何确定从哪个视图调用特定命令?为每个View配备一个单独的命令在这种情况下不会产生影响,因为它是一个外部服务,应该通知特定的活动View。

1 个答案:

答案 0 :(得分:1)

我假设您从usercontrol调用该命令。因此,如果您调用方法someMethod作为示例,则需要该方法将UserControl对象作为参数。换句话说,你应该有一些像:

  Public void someMethod(UserControl u, other params...){

    If( u is SomeUsercontrol){
      \\do somethin
      } else if....

  }

在您的用户conrtoll上调用该方法为:

      someMethod(this, .....) \\ the this keyword will send a UserControl object if you call that method within a UserControl class. In other words it will pass itself as a parameter