我正在学习WPF,并且正在做某种游戏。底线是有4种技能,在每个级别上,您只能从一列中学习一项技能,但是如果需要,可以将其更改为该列中的另一项技能。每个技能都来自视图模型的集合。此外,按下突出显示的技能后,突出显示。如果选择已更改,则前一个变为灰色,而新的则突出显示。然后将所有这些都写到一个数组List <(Class of skill)>中。例如这个屏幕截图,我该怎么做?我使用MVVM Light。
答案 0 :(得分:0)
我认为您提供的代码不足以提供真正的帮助,但是我可以看到您正在尝试做什么。
您应该做的而不是维护两个列表,是将每个列表(总共4个)封装在具有以下属性的类中:
ObservableCollection<T>
List<T>
string
???
将视图构造的SelectedItems绑定到该类的SelectedItems,将视图构造的数据源绑定到AvailableItems列表。然后,您应该挂接到每一行的集合更改事件,并放入逻辑来限制那里的列值的数量。