【发布时间】:2010-09-04 18:03:44
【问题描述】:
在下面的示例中,DataTemplate 仅应用于第一个和第二个列表项,第三个和第四个被完全忽略。
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<Button Content="{Binding}"></Button>
</DataTemplate>
</ListBox.ItemTemplate>
<sys:String>One</sys:String>
<sys:String>Two</sys:String>
<ListBoxItem>Three</ListBoxItem>
<ListBoxItem>Four</ListBoxItem>
</ListBox>
我的问题是为什么?
如果我查看输出窗口,我会看到以下错误:“ItemTemplate 和 ItemTemplateSelector 已被 ItemsControl 容器类型的项目忽略;类型='ListBoxItem'。
所以我明白了为什么我的模板没有被应用,但是当我在我的列表项上明确使用 ListBoxItems 对象时,为什么 WPF 对我很不利?我的意思是,WPF 在 ListBoxItems 对象上隐式托管 ALL 项,那么为什么 WPF 不能感谢我做了一些它应该做的工作而不是抛出错误呢? :)
谢谢。
【问题讨论】:
标签: wpf listbox listboxitem