将DataTemplate应用于从FrameworkElement派生的类型

时间:2010-01-14 09:45:06

标签: wpf datatemplate frameworkelement

我的应用中有自定义“页面”列表。每个页面代表不同的UI视图。它们有一些简单的属性,如字符串标题和图标,但它们也有许多复杂的属性,包括插入主工具栏的控件,主要内容区域,自定义状态栏面板等。页面类型派生自FrameworkElement以便数据绑定在每个页面的XAML内正常工作。到目前为止,我所描述的所有内容都是很好

当我尝试快速抛出所有页面的列表时出现问题。我有一个ItemsControl我绑定到活动页面列表,DataTemplate分配给ItemTemplate,只包含绑定到页面{{1}的标签属性(如上所述,它只是一个普通的字符串)。但是,当我运行它时,列表中没有显示任何内容,我在错误输出中得到了这个:

  

System.Windows.Data错误:25:ItemTemplate和ItemTemplateSelector对item无效。类型= 'WelcomePage'

如果我将基本类型更改为除Title以外的任何其他模板,但每个页面内的数据绑定都会严重崩溃(通过FrameworkElement绑定到项目失败,尽管两个涉及的控件都是公共ElementName,在页面的XAML中定义。

任何人都知道如何将DataTemplate应用于FrameworkElement派生类型或使数据绑定在以非FrameworkElement为根的XAML文件中工作?

1 个答案:

答案 0 :(得分:0)

不是说它现在对你有好处,但在类似的情况下我有同样的问题。我刚刚将项目控件替换为listview。使用listbox会导致额外的绑定错误。