EventArgs to InvokeCommandAction
Posted: 29 Nov 2020, 12:03
Hi,
How to pass EventArgs from EventTrigger to InvokeCommandAction?
I solved it by changing the NoesisApp::EventTriggerBase code by adding the GetEventArgs method
How to pass EventArgs from EventTrigger to InvokeCommandAction?
I solved it by changing the NoesisApp::EventTriggerBase code by adding the GetEventArgs method
Code: Select all
Noesis::EventArgs* EventTriggerBase::GetEventArgs() const;
Code: Select all
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseUp" x:Name="Trigger.Up">
<i:InvokeCommandAction Command="{Binding OnCommand}" CommandParameter="{Binding ElementName=Trigger.Up}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
Code: Select all
void OnCommand(BaseComponent* param)
{
if (param && param->GetClassType() == TypeOf<NoesisApp::EventTrigger>())
{
auto trigger = (NoesisApp::EventTrigger*)param;
if (Symbol(trigger->GetEventName()) == Symbol("MouseUp")) {
auto args = (MouseButtonEventArgs*)trigger->GetEventArgs();
};
if (Symbol(trigger->GetEventName()) == Symbol("DragBegun")) {
auto args = (BehaviorDragEventArgs*)trigger->GetEventArgs();
};
}
}