我可以在XAML中设置工具栏项吗
本文关键字:工具栏 设置 XAML 我可以 | 更新日期: 2023-09-27 18:29:14
如果这不是解决问题的最佳方法,请随时建议另一种方法。
我有一个工具栏托盘和一个树视图。该树有两个项,分别是Concrete1和Concrete2类。我希望工具栏有一个不同的菜单,这取决于在树中选择的项目类型。
<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>
我已经能够根据选择的项目设置工具栏的任何常规属性(背景等)。我不知道如何将特定的菜单添加到工具栏。
我想我已经想通了。我只使用了ContextMenu和样式触发器之外的功能,但我想这也是同样的原理。
<TreeView>
<TreeView.ContextMenu>
<ContextMenu>
<StaticResourceExtension ResourceKey="myMenuItem"></StaticResourceExtension>
</ContextMenu>
</TreeView.ContextMenu>
</TreeView>