Iteraction.Trigger inside DataTemplate
Posted: 22 Sep 2021, 16:57
Hi
EventTrigger fires if set on the TreeView event.
If bind to TreeViewMultipleSelectionBehavior, then it is not called.
In debug, Trigger binds to event (EventTriggerBase.cpp)
when called MultiSelectionChanged,
Delegate.Size () is empty
Code: Select all
<DataTemplate DataType="{x:Type SubHierarchy}">
<TreeView ItemContainerStyle="{StaticResource Style.SceneMultiSelectedTreeViewItem}" ItemsSource="{Binding Root.Childs}">
<i:Interaction.Behaviors>
<TreeViewMultipleSelectionBehavior x:Name="msb" SelectedItems="{Binding SelectedNodes, Mode=TwoWay}" />
</i:Interaction.Behaviors>
<i:Interaction.Triggers>
<EventTrigger EventName="MultiSelectionChanged" SourceName="msb">
<InvokeCommandAction Command="{Binding ChangeSelectedNodesCommand}" />
</EventTrigger>
</i:Interaction.Triggers>
</TreeView>
</DataTemplate>
If bind to TreeViewMultipleSelectionBehavior, then it is not called.
In debug, Trigger binds to event (EventTriggerBase.cpp)
Code: Select all
Noesis::EventHandler& handler = *(Noesis::EventHandler*)event->GetContent(source);
handler += MakeDelegate(this, &EventTriggerBase::OnDelegateEvent); ///Call
Delegate.Size () is empty