我正在学习 WPF (and mvvm)
,我遇到了一个我无法google
通过的问题。
我有 2 ObservableCollections
- 练习和图表(项目是关于健身房的赛道进展):
练习( Id,姓名)
图表(ExerciseId,ExerciseName,Id,...)
现在,在我要填充图表的窗口中,我有 listbox
,其中包含 labels
和{{1} } <和 _grid
中的 combobox
。
ItemTemplate
绑定到图表集合
Listbox
显示了练习列表,因此我将其绑定到练习集合。
问题:
答案 0 :(得分:0)
使用Element Binding和Converter可以实现这一点......但是,在ViewModel中实现这一点会更简单。
您的ViewModel中将有四个属性。
您可以使用Linq设置您的组合框选定项目,使其等于ListBox选择项属性的Setter中具有ListBox Selected Item ExerciseID的项目;
Public Property ChartSelectedItem As ChartItem
Get
Return _ChartSelectedItem
End Get
Set(value As ChartItem)
If value <> _ChartSelectedItem Then
_ChartSelectedItem = value
ExcersiseSelectedItem = (From ExcersiseItemsList in ExcersiseItems Where ExcersiseItemsList.ID = value.ExcersiseID).FirstOrDefault
OnPropertyChanged("ChartSelectedItem")
End if
End Set
End Property
希望有帮助...