基本上我的自定义类中有一个事件。我将使用事件的参数 -> 属性作为该方法的参数来调用自定义类中的特定方法。
您可以观察此信息背后的实际代码。
instance.FileOpening += (sender, e) =>
{
CustomClass.Method(e.XXproperty, e.YYproperty);
};
但我想通过MVVM中的交互触发器来实现这一点。所以我在xaml中使用了以下代码。
<i:Interaction.Triggers>
<i:EventTrigger EventName="FileOpening">
<i:FileOpeningAction TargetObject="{Binding ElementName=cntrol}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
我相应的 TargetedTriggerAction 类在这里让我的自定义类执行该方法。
public class FileOpeningAction :TargetedTriggerAction<CustomClass>
{
protected override void Invoke(object parameter)
{
((instance).TargetObject).Method(?,?);
}
}
但我的问题是如何在上述操作中传递 a.property 和 e.property 来执行自定义类中的方法?
您可以尝试使用交互库,然后您可以这样写:
<i:EventTrigger EventName="FileOpening">
<ei:CallMethodAction TargetObject="{Binding}" MethodName="OnFileOpening"/>
</i:EventTrigger>
在你的代码中它将类似于
public void OnFileOpening(object sender, EventArgs e){//your code}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)