【发布时间】:2012-02-08 16:34:49
【问题描述】:
好的,我有一个包含几行的列表视图,它是通过在代码中设置 itemsource 来定义的。在生成的每一行中,我都有一个组合框。在代码中,我有另一个对象数组,这是该组合框应显示的集合。
我基本上想要它,以便为每一行从列表中选择一个选项。可能性列表将始终相同,因此数组。
一些代码可以提供帮助。这就是我为 XAML 所拥有的:
<ListView Name="lvVanList">
<ListView.View>
<GridView>
<DisplayMemberBinding="{Binding Path=Number}">Van</GridViewColumn>
<GridViewColumn Header="Rooms">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ComboBox Name="cbSchemeList" ItemsSource="{Binding Path=_RoomList}" SelectedValue="{Binding Path=Room}" DisplayMemberPath="Name" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
背后的代码:
private RoomList _RoomList;
public populateList()
{
this.lvVanList.ItemsSource = this.getVans;
this._RoomList = this.getRooms;
}
private class Room
{
string Name { get; set; }
int Windows { get; set; }
}
不幸的是,当组合框打开时,这会显示一个空白列表。
我确实有办法解决这个问题,方法是将可能性列表存储在绑定到每一行的对象中,但我确信我应该能够只使用一个集合。
很难描述,所以如果有任何我遗漏或无法理解的信息,请告诉我。
提前致谢
【问题讨论】:
-
不应该
_RoomList是public绑定工作? -
您的 RoomList 是什么?是
ObservableCollection<>吗? -
它们都在 MainWindow 类中,即使是私有的,它也应该是可见的,对
-
_RoomList 只是一个列表
标签: c# wpf listview binding combobox