C# 没有Interactivity.dll:MVVMLight的替代品';s eventto command
在我们当前的C#项目中,我们使用C# 没有Interactivity.dll:MVVMLight的替代品';s eventto command,c#,mvvm-light,C#,Mvvm Light,在我们当前的C#项目中,我们使用mvvmlight框架及其EventToCommand特性将事件绑定到命令(如中所述)。 例如,我们使用它如下所示: <i:Interaction.Triggers> <i:EventTrigger EventName="GotFocus"> <cmd:EventToCommand CommandParameter="{Binding SelectedItem, ElementName=SelectTree}"
mvvmlight
框架及其EventToCommand
特性将事件绑定到命令(如中所述)。
例如,我们使用它如下所示:
<i:Interaction.Triggers>
<i:EventTrigger EventName="GotFocus">
<cmd:EventToCommand CommandParameter="{Binding SelectedItem, ElementName=SelectTree}"
Command="{Binding Path=SelectTreeGotFocusCommand, Mode=OneWay}" />
</i:EventTrigger>
</i:Interaction.Triggers>
我的问题是:在不使用System.Windows.Interactivity
的情况下,实现相同行为(即EventToCommand
,不限于GotFocus
)的最简单方法是什么
为了避免这种情况,以下是一些背景:
- 我们正在为一个已经存在的主应用程序开发一个插件,我们对此没有任何影响。我们的插件作为一个dll,由这个主应用程序使用
- 到目前为止,我们使用了上面给出的XAML代码(即使用
和System.Windows.Interactivity
)。但是,主应用程序的最新版本包含一个旧版本的EventToCommand
(到目前为止,它根本不包括在内),该版本不支持此功能System.Windows.Interactivity
- 这意味着使用旧的
将导致我们的插件无法正常工作。但是,用我们需要的新版本覆盖dll将导致主应用程序的某些部分出现问题Interactivity.dll
- 我读过关于在一个项目中使用同一dll的两个不同版本的文章(例如),但这似乎涉及到很多问题。由于我们只在少数几个地方使用这种结构,我认为用不使用
的代码替换它可能更容易Interactivity.dll
交互功能