So zeigen Sie das Kontextmenü für den Strukturansichtselement in wpf mit der hierarchischen Datenvorlage an? Wie Kontextmenü angezeigt werden nur für CountryTemplate:So zeigen Sie das Kontextmenü für den TreeView-Eintrag in einer hierarchischen Datenvorlage in wpf an
<HierarchicalDataTemplate x:Key="DispTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Label}" Style="{StaticResource TreeTextStyle}" ToolTip="{Binding Path=Description}" Tag="{Binding Path=Tag}">
</TextBlock>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="BuildingTemplate" ItemsSource="{Binding Path=Building}" ItemTemplate="{StaticResource BuildingTemplate}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Label}" Style="{StaticResource TreeTextStyle}" ToolTip="{Binding Path=Description}"/>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="CityTemplate" ItemsSource="{Binding Path=City}" ItemTemplate="{StaticResource CityTemplate}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Label}" Style="{StaticResource TreeTextStyle}" ToolTip="{Binding Path=Description}"/>
</StackPanel>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate x:Key="CountryTemplate" ItemsSource="{Binding Path=Country}" ItemTemplate="{StaticResource CountryTemplate}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=RootName}" Style="{StaticResource TreeTextStyle}" ToolTip="{Binding Path=Description}"/>
</StackPanel>
</HierarchicalDataTemplate>
Wie binde ich an den Befehl, der im Stammverzeichnis des Viewmodels definiert ist. Bisher funktioniert die FindAncestor-Methode nicht. Kannst du mir bitte ein Beispiel dafür zeigen? – TrustyCoder
In den Fällen, in denen ich nicht einfach auf das View-Modell zugreifen kann, um die Bindung zu erstellen, versuche ich mit dieser FindAncestor-Bindung: Command = "{Binding DataContext.Command, RelativeSource = {RelativeSource FindAncestor, AncestorType = {x: Type MainWindow}}} "Im Allgemeinen hat der Datenkontext des Hauptfensters das Root-View-Modell und es gibt den gewünschten Befehl. –
Das funktioniert aus irgendeinem Grund nicht mit dem Kontextmenü, da es nicht Teil der visuellen Struktur ist. – TrustyCoder