根据条件设置/使用事件到命令

本文关键字:事件 命令 条件 设置 | 更新日期: 2023-09-27 18:31:36

我有一个用户控件,用于显示2种不同类型的ViewModels(两者都基本上是显示数据的网格)。

ViewModel A 用于显示某种数据,双击时它会执行一些操作来编辑该行。

视图模型 B 仅用于显示其他数据。

对于 ViewModel A,我需要从 MVVM-Light 获得这个简单的 EventToCommand

   <i:Interaction.Triggers>
      <i:EventTrigger EventName="RowDoubleClick">
         <cmd:EventToCommand Command="{Binding EditCommand}" />
      </i:EventTrigger>
   </i:Interaction.Triggers>

在ViewModel B中,我不想在RowDoubleClick上进行编辑,甚至在ViewModel中也没有"EditCommand"属性。

所以问题是,我可以根据两个视图模型中都存在的布尔 WithDoubleClick 属性应用该 EventToCommand 吗?

根据条件设置/使用事件到命令

你说你正在使用 MVVM Light,但在 MVVM 中,我们通常每个视图模型使用一个视图,所以你不应该真正按照你的建议去做。但是,这是可能的。如果您的视图模型中没有EditCommand,您的程序仍将运行...你只会在Visual Studio的Output Window中得到一个错误。