/ / Kann ich ToolBar-Elemente in XAML setzen? - c #, wpf, xaml

Kann ich ToolBar-Elemente in XAML festlegen? - c #, wpf, xaml

Fühlen Sie sich frei, eine alternative Herangehensweise an mein Problem vorzuschlagen, wenn dies nicht der beste Weg ist, um es zu lösen.

Ich habe eine ToolBarTray und eine TreeView. Der Baum verfügt über 2 Elemente, die jeweils die Klassen Concrete1 und Concrete2 sind. Ich möchte, dass die Symbolleiste ein anderes Menü hat, abhängig davon, welcher Elementtyp in der Baumstruktur ausgewählt ist.

<ToolBarTray DockPanel.Dock="Top">
<ToolBar>
<ToolBar.Style>
<Style TargetType="{x:Type ToolBar}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tree, Path=SelectedItem, Converter={StaticResource convert}}" Value="{x:Type root:Concrete1}">
<!--what do i do here??-->
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tree, Path=SelectedItem, Converter={StaticResource convert}}" Value="{x:Type root:Concrete2}">
<!--what do i do here??-->
</DataTrigger>
</Style.Triggers>
</Style>
</ToolBar.Style>

<ToolBar.Resources>
<Menu x:Key="awd">
<MenuItem Header="AWD"></MenuItem>
</Menu>
<Menu x:Key="dwa">
<MenuItem Header="DWA"></MenuItem>
</Menu>
</ToolBar.Resources>
</ToolBar>
</ToolBarTray>

<TreeView x:Name="tree"  ItemsSource="{Binding Families}"></TreeView>

Ich bin so weit gekommen, dass ich je nach ausgewähltem Element eine reguläre Eigenschaft (Hintergrund usw.) der Symbolleiste festlegen kann.

Antworten:

0 für die Antwort № 1

Ich glaube, ich habe es herausgefunden. Ich habe dies nur mit einem ContextMenu und außerhalb eines Stilauslösers gemacht, aber ich kann mir vorstellen, dass es das gleiche Prinzip wäre.

<TreeView>
<TreeView.ContextMenu>
<ContextMenu>
<StaticResourceExtension ResourceKey="myMenuItem"></StaticResourceExtension>
</ContextMenu>
</TreeView.ContextMenu>
</TreeView>