4

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

当我试图快速抛出所有页面的列表时,问题就来了。我有一个ItemsControl绑定到活动页面列表的一个,一个DataTemplate分配给一个ItemTemplate仅由绑定到页面Title属性的标签组成的一个(如前所述,它只是一个普通字符串)。但是,当我运行它时,列表中没有显示任何内容,并且我在错误输出中得到了这个:

System.Windows.Data 错误:25:ItemTemplate 和 ItemTemplateSelector 对项目无效。;类型='欢迎页面'

如果我将基本类型更改为除FrameworkElement模板工作之外的任何内容,但每个页面中的数据绑定会严重崩溃(通过绑定到项目ElementName失败,尽管所涉及的两个控件都是 common 的子级FrameworkElement,这是在页面的 XAML 中定义的)。

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

4

1 回答 1

0

并不是说它现在可能对您有任何好处,但是在类似的情况下我也遇到了同样的问题。我只是将项目控制替换为listview. 由于使用 alistbox 导致了我额外的绑定错误。

于 2010-08-18T07:51:33.610 回答