Я использую TreeView в сценарии MVVM.Поскольку отображение и контекстное меню дочерних элементов TreeViewItem зависит от типа модели представления, я использую шаблоны данных для выбора нужного элемента управления UserControl для отображения (гораздо проще управлять, чем StyleSelector).
Моя проблема заключается в том, чтоМне нужно обрабатывать команды, когда пользовательский элемент управления нажимается в любом месте на его поверхности .Я использовал EventTrigger, непосредственно связанный с UserControl, но событие щелчка обрабатывается только тогда, когда я нажимаю на текст TextBlock или изображения.Вот пример кода:
<UserControl x:Class="FolderTreeView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseLeftButtonDown">
<i:InvokeCommandAction Command="{Binding Path=DisplayCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding Path=Icon}"/>
<TextBlock Text="{Binding Path=DisplayName}"/>
</StackPanel>
</UserControl>
Есть идеи, как можно заставить это работать?