Kontextmenü-Trigger wird in TreeViewItem nicht ausgelöst

In meiner WPF-Anwendung habe ich TreeViewItems Bindungsklassendaten für TreeView-Steuerelemente hinzugefügt. Ich habe den Baumansichten ein Kontextmenü hinzugefügt. Der Handler des contextMenu wird nicht ausgelöst. Hier ist der XAML-Code für TreeView.

<TreeView ItemsSource="{Binding pads}" Width="190">
                    <TreeView.ItemContainerStyle>
                        <Style TargetType="{x:Type TreeViewItem}">
                            <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
                            <Setter Property="FontWeight" Value="Normal" />
                            <Setter Property="ContextMenu">
                                <Setter.Value>
                                    <ContextMenu>
                                        <MenuItem Header="Rename" Command="{Binding RenameCommand}"/>
                                    </ContextMenu>
                                </Setter.Value>
                            </Setter>
                            <Style.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Setter Property="FontWeight" Value="Bold" />
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </TreeView.ItemContainerStyle>

                    <TreeView.ItemTemplate>
                        <HierarchicalDataTemplate ItemsSource="{Binding Members}">
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding Name}" />
                                <TextBlock Text=" [" Foreground="Blue" />
                                <TextBlock Text="{Binding Members.Count}" Foreground="Blue" />
                                <TextBlock Text="]" Foreground="Blue" />
                            </StackPanel>
                            <HierarchicalDataTemplate.ItemTemplate>
                                <DataTemplate DataType="{x:Type vm:PadInfo}">
                                    <StackPanel Orientation="Horizontal">
                                        <TextBlock Text="["></TextBlock>
                                        <TextBlock Text="{Binding SlotID}" />
                                        <TextBlock Text="] ["></TextBlock>
                                        <TextBlock Text="{Binding WellID}" />
                                        <TextBlock Text="]"></TextBlock>
                                    </StackPanel>
                                </DataTemplate>
                            </HierarchicalDataTemplate.ItemTemplate>
                        </HierarchicalDataTemplate>
                    </TreeView.ItemTemplate>

                </TreeView>

Dies sind die beiden Klassen, die an die TreeView gebunden sind.

    /// <summary>
/// Class to hold the Pads info for a tree
/// </summary>
public class Pad
{
    /// <summary>
    /// Default Constructor
    /// </summary>
    public Pad()
    {
        this.Members = new ObservableCollection<PadInfo>();
    }

    /// <summary>
    /// Name of the pad
    /// </summary>
    public string Name { get; set; }

    /// <summary>
    /// Members of the pad
    /// </summary>
    public ObservableCollection<PadInfo> Members { get; set; }
}

/// <summary>
/// Class to hold the well and slot IDs snapped to a pad
/// </summary>
public class PadInfo
{
    /// <summary>
    /// Slot ID
    /// </summary>
    public string SlotID { get; set; }

    /// <summary>
    /// Well ID
    /// </summary>
    public string WellID { get; set; }
}

}

Dieses Mitglied ist an die TreeView gebunden

public List<Pad> pads { get; set; }

Wenn ich mit der rechten Maustaste auf die Menüelemente klicke, wird das RenameCommand-Ereignis nicht ausgelöst. Wenn ich den Handler ändere, wird ausgelöst, aber TreeView wird nicht mit den gebundenen Daten gefüllt.

Bitte helfen Sie. Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage