我正在开发一个WPF / PRISM应用程序。我开始使用数据绑定创建一个动态菜单,例如:http://www.koaxkoaxkoax.com/ribbit/2010/09/creating-dynamic-menus-in-wpf.html 它使用 HierarchicalDataTemplate ,这似乎是一个很好的解决方案。
我的目标是对工具栏使用相同的概念,但遗憾的是 ToolBarTray 控件没有 ItemsSource 来动态生成工具栏控件。
我是WPF的新手,我似乎找不到使用数据绑定在ToolBarTray中创建工具栏的好解决方案。有人有解决方案吗?
是否可以使用 HierarchicalDataTemplate ?
谢谢
答案 0 :(得分:-2)
虽然ToolBarTray不包含ItemsSource属性,但它确实包含您可以绑定到的ToolBars属性。然后,每个ToolBar都有一个ItemsSource属性,您也可以绑定它。
所以你的绑定看起来像这样:
<ToolBarTray ToolBars="{Binding MyToolBarsProperty}" />
然后你就可以开始在工具栏上使用HierarchicalDataTemplates:
<HierarchicalDataTemplate.ItemContainerStyle>
<Style TargetType="Button">
<Setter Property="Command" Value="{Binding Command}"/>
</Style>
</HierarchicalDataTemplate.ItemContainerStyle>