在我们当前的C#项目中,我们使用MVVM light
框架及其EventToCommand
功能将事件绑定到命令(也在this SO thread中提到)。
我们使用它,例如:
<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>
我的问题是:在不使用EventToCommand
的情况下,实现相同行为(即GotFocus
,不限于System.Windows.Interactivity
)的最简单方法是什么?
为了避免XY problem,这里有一些背景知识:
System.Windows.Interactivity
和EventToCommand
)。但是,主应用程序的最后一个版本包含旧版本的System.Windows.Interactivity
(到目前为止,它根本没有包含在内),它不支持此功能。Interactivity.dll
会导致我们的插件无法正常使用。但是,使用我们需要的新版本覆盖dll会导致部分主应用程序出现问题。Interactivity.dll
的代码替换它可能会更容易。