/ / Czy mogę ustawić elementy ToolBar w XAML? - c #, wpf, xaml

Czy mogę ustawić elementy paska narzędzi w XAML? - c #, wpf, xaml

Możesz zaproponować alternatywne podejście do mojego problemu, jeśli nie jest to najlepszy sposób na to.

Mam ToolBarTray i TreeView. Drzewo ma 2 przedmioty, które są odpowiednio klasami Concrete1 i Concrete2. Chcę, aby pasek narzędzi miał inne menu w zależności od tego, jaki rodzaj elementu jest wybrany w drzewie.

<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>

Doszedłem do tego, że mogłem ustawić dowolną regularną właściwość (tło itp.) Paska narzędzi, w zależności od tego, który element został wybrany.

Odpowiedzi:

0 dla odpowiedzi № 1

Myślę, że już to zrozumiałem. Zrobiłem to tylko za pomocą ContextMenu i poza wyzwalaczem stylu, ale wyobrażam sobie, że to ta sama zasada.

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