如何将工具栏数据绑定到不同类型的控件集合?

时间:2011-10-28 00:11:13

标签: c# wpf data-binding

我正在WPF中构建一个工具栏,需要托管混合按钮和下拉菜单。按钮和菜单可以按任何顺序穿插。

我想通过绑定ObservableCollection来填充此工具栏。

我的主要问题是如何在Toolbar.ItemTemplate中表示应该创建不同类型的对象?您可以假设ObservableCollection中的ViewModel包含一个属性,用于区分哪些用作按钮,哪些是菜单。 (或者它们应该是单独的ViewModel本身吗?)

1 个答案:

答案 0 :(得分:1)

ToolBar类有一个ItemTemplateSelector属性,您可以指向模板选择器。编写一个自定义模板选择器,根据基础项的类型告诉工具栏使用哪个模板。

该属性的MSDN文档有一个示例。