У меня есть дерево WPF (привязано к данным XML).Ниже приведен отрывок:
(Хорошо, снимите, я не могу опубликовать фотографию, потому что моя репутация еще недостаточно высока. Если у моего представителя будет 10, я опубликую его.представьте себе обычный вид дерева с некоторыми значками «плюс» и «минус» на нескольких элементах на разных уровнях)
И поскольку мне нужны специальные операции на определенных уровнях, я вставил несколько значков на определенных уровнях дерева,Ну, на самом деле я ввел их на всех уровнях дерева, как и просто решил показать их на определенных уровнях с помощью триггеров.Это мой код XAML для этого:
<HierarchicalDataTemplate ItemsSource="{Binding Path=Elements}" x:Key="ViewEditTreeTemplate">
<StackPanel Orientation="Horizontal" Margin="1">
<Label x:Name="ElementHeaderLabel" Height="16" Padding="1" VerticalContentAlignment="Center" FontSize="11" FontWeight="Normal">
<MultiBinding Converter="{StaticResource ElementHeader}">
<Binding Path="Name.LocalName"/>
<Binding Path="Attribute[name].Value" />
</MultiBinding>
</Label>
<Image x:Name="AddButton" Source="Images/button_add_icon.png" Visibility="Collapsed" MouseLeftButtonUp="AddButton_MouseLeftButtonUp" />
<Image x:Name="DeleteButton" Source="Images/button_delete_icon.png" Visibility="Collapsed" MouseLeftButtonUp="DeleteButton_MouseLeftButtonUp" />
<Image x:Name="EditButton" Source="Images/button_edit_icon.png" Visibility="Collapsed" MouseLeftButtonUp="EditButton_MouseLeftButtonUp"/>
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<!-- Showing aditional buttons for RFFs list -->
<DataTrigger Binding="{Binding Path=Name.LocalName}" Value="RFFs">
<Setter TargetName="AddButton" Property="Visibility" Value="Visible"/>
<Setter TargetName="DeleteButton" Property="Visibility" Value="Visible"/>
</DataTrigger>
<!-- Showing aditional buttons for RFF -->
<DataTrigger Binding="{Binding Path=Name.LocalName}" Value="RFF">
<Setter TargetName="EditButton" Property="Visibility" Value="Visible"/>
</DataTrigger>
<!-- Showing aditional buttons for Stations list -->
<DataTrigger Binding="{Binding Path=Name.LocalName}" Value="Stations">
<Setter TargetName="AddButton" Property="Visibility" Value="Visible"/>
<Setter TargetName="DeleteButton" Property="Visibility" Value="Visible"/>
</DataTrigger>
<!-- Showing aditional buttons for AdjacentRegionNames list -->
<DataTrigger Binding="{Binding Path=Name.LocalName}" Value="AdjacentRegionNames">
<Setter TargetName="AddButton" Property="Visibility" Value="Visible"/>
<Setter TargetName="DeleteButton" Property="Visibility" Value="Visible"/>
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
Моя проблема заключается в следующем.Я добавил обработчик событий к этим значкам (AddButton, DeleteButton и EditButton), но когда я попадаю в подпрограмму обработки событий, я не представляю, на каком узле находился пользователь, когда они нажимали на узел.Могу ли я передать что-нибудь этому обработчику события MouseLeftButtonUp (...) или я могу каким-то образом выяснить, где находился пользователь, когда он щелкнул мое изображение?