Ich habe derzeit ein UserControl, das das MVVM-Modell verwendet.TreeView ContextMenu MVVM-Bindung
In diesem Steuerelement gibt es eine TreeView, die einige Elemente anzeigt. Ich habe eine HierarchicalDataTemplate für diese TreeView hinzugefügt und in dieser Vorlage ist ein ContextMenu für die Items.
Im ViewModel, das ist DataContext des Steuerelements (namens RestoresTreeViewControl) ist ein Befehl, an den ich einen der Menüpunkte binden möchte. Was ich getan habe scheint jedoch nicht zu funktionieren. Ich bekomme das Übliche kann keine Quelle für verbindliche Referenz finden.
Hier ist das Bit des Codes für die Datatemplate, die versucht hat, den EditDatabaseCommand an eines der Menüelemente zu binden.
<HierarchicalDataTemplate DataType="{x:Type model:Database}" >
<StackPanel>
<TextBlock Text="{Binding Name}" >
<TextBlock.ContextMenu>
<ContextMenu>
<MenuItem Header="Edit" Command="{Binding ElementName=RestoresTreeViewControl, Path=DataContext.EditDatabaseCommand}" />
<MenuItem Header="Delete"/>
<Separator/>
<MenuItem Header="Test Connection"/>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
Hier ist ein Abschnitt des ViewModel, wo der Befehl ist.
public ICommand EditDatabaseCommand { get; private set; }
Das gleiche Problem hier! Das scheint mir fast ein Fehler zu sein, ich habe für immer mit dem Kontext-Menü herumgespielt, es funktioniert einfach nicht ... – lukebuehler
Ah ich denke ich habe es gefunden, siehe meine Antwort. – lukebuehler