これで、コード内の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; }
}
残念ながら、これはコンボボックスが開いている空白のリストが表示されます。
私は、各行にバインドされているオブジェクトに可能性リストを格納することで回避できますが、ただ1つのコレクションを使用できるはずです。
私が逃した情報や理解できない情報がある場合は、私に知らせてください。予め
バインディングが動作するために '_RoomList'を' public'にしてはいけませんか? – Default
あなたのRoomListは何ですか?それは 'ObservableCollection <>'ですか? – Default
これらは両方ともMainWindowクラス内にあり、プライベートであっても表示する必要があります。 – SumGuy