WPF(MVVM)表“游戏技能序列”。该栏中只有一个选择

时间:2018-11-28 12:26:25

标签: c# wpf mvvm mvvm-light

我正在学习WPF,并且正在做某种游戏。底线是有4种技能,在每个级别上,您只能从一列中学习一项技能,但是如果需要,可以将其更改为该列中的另一项技能。每个技能都来自视图模型的集合。此外,按下突出显示的技能后,突出显示。如果选择已更改,则前一个变为灰色,而新的则突出显示。然后将所有这些都写到一个数组List <(Class of skill)>中。例如这个屏幕截图,我该怎么做?我使用MVVM Light。

Gif viewmodel

1 个答案:

答案 0 :(得分:0)

我认为您提供的代码不足以提供真正的帮助,但是我可以看到您正在尝试做什么。

您应该做的而不是维护两个列表,是将每个列表(总共4个)封装在具有以下属性的类中:

  • SelectedItems ObservableCollection<T>
  • AvailableItems List<T>
  • 名称string
  • 图片???

将视图构造的SelectedItems绑定到该类的SelectedItems,将视图构造的数据源绑定到AvailableItems列表。然后,您应该挂接到每一行的集合更改事件,并放入逻辑来限制那里的列值的数量。