好吧,在wpf xaml标记中,数据绑定功能允许将列表数据绑定到listView . 为此,我指定了DataContext并将ItemSource设置为DataContext . 这有效,listView填充了这些项目 . 这些项目虽然是对象,但是能够将列表视图中显示的项目作为get set实现的字符串属性,从列表视图中枚举的对象开始,我尝试使用项目模板 . 虽然这不起作用,但我不确定为什么 .
在这种情况下,项模板和数据绑定功能究竟如何?什么是这个问题的可行解决方案?有没有办法在文本框中指定属性作为枚举对象的本地属性 . 请帮助我老实说已经有一段时间了,研究没有提供答案 .
ItemList是一个对象列表 . ItemName是ItemList的字符串属性 . ItemSource和DataContext可以工作,但文本块没有 .
优选地,仅使用xaml的溶液 .
<ListView DataContext="this.ItemList" ItemsSource="{Binding }" Name ="Items">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ItemName}" >
</TextBlock>
</DataTemplate>
</ListView.ItemTemplate>
1 回答
除了Clemens指出的一些非常规工作方式之外,我认为你唯一的实际错误是ItemName是ItemList的属性而不是枚举对象的类 .
你问“有没有办法在文本框中指定属性作为枚举对象的本地属性” . 嗯,这是实际情况:TextBlock的datacontext是枚举对象 . 更准确地说:itemtemplate中的所有绑定都将在枚举对象中查找,除非绑定显式指示否则 . 所以,如果你的枚举对象有例如 . 一个字符串属性ObjectName,它的值肯定会被textblock绑定和显示 .