无法将HashSet绑定到ListBox

时间:2010-08-26 21:12:28

标签: c# wpf

我有一个要求,我需要将一个列表框放到另一个列表框中。我有一个有很多记录的表,有些字段是多余的。我希望显示这些字段的唯一标题,但在另一个列表框中显示该记录中的所有其他字段。我希望显示HotelName,然后我希望为每个名称显示酒店块。为了获得唯一记录,我使用的是HashSet。我能够正确显示roomBlock数据但不知何故,当我将另一个列表框绑定到HashSet集合Hotelnm时,它不会显示任何文本。

1 个答案:

答案 0 :(得分:3)

您没有在ListBox中获取任何项目,因为您尚未将集合绑定到它。将Hotelnm设置为DataContext允许对其创建绑定,但是要获取ListBox中的项目,您需要绑定ItemsSource属性。您可以更改代码以设置ItemsSource而不是DataContext,或者在XAML中添加ItemsSource="{Binding}"

在ItemTemplate中,DataContext将是集合中的单个项目,在本例中为字符串。要再次将项目显示为TextBlock的文本,请使用Text="{Binding}"来使用DataContext对象本身。