我正在WPF中构建一个工具栏,需要托管混合按钮和下拉菜单。按钮和菜单可以按任何顺序穿插。
我想通过绑定ObservableCollection来填充此工具栏。
我的主要问题是如何在Toolbar.ItemTemplate中表示应该创建不同类型的对象?您可以假设ObservableCollection中的ViewModel包含一个属性,用于区分哪些用作按钮,哪些是菜单。 (或者它们应该是单独的ViewModel本身吗?)
答案 0 :(得分:1)
ToolBar类有一个ItemTemplateSelector属性,您可以指向模板选择器。编写一个自定义模板选择器,根据基础项的类型告诉工具栏使用哪个模板。
该属性的MSDN文档有一个示例。