WPF (MVVM) Таблица «Последовательность игровых навыков». Только один вариант в столбце - PullRequest
0 голосов
/ 28 ноября 2018

Я изучаю WPF и играю в какую-то игру.Суть в том, что есть 4 навыка, и на каждом уровне вы можете выучить только один навык из столбца, но при желании вы можете заменить его на другой в этом столбце.Каждый навык связан с коллекцией из модели представления.Кроме того, после нажатия выделенный навык подсвечивается.Если выбор был изменен, предыдущий становится серым, а новый подсвечивается.И все это потом записывается в массив List <(Class for skill)>. Это скриншоты для примера. Как я могу это сделать?Я использую MVVM Light.

Gif viewmodel

1 Ответ

0 голосов
/ 28 ноября 2018

Я не думаю, что вы предоставили достаточно кода, чтобы действительно помочь, но я вижу, что вы пытаетесь сделать.

Что вы должны сделать вместо того, чтобы поддерживать два списка, это иметь каждый список(итого 4) быть инкапсулированным в класс, который имеет следующие свойства:

  • SelectedItems ObservableCollection<T>
  • AvailableItems List<T>
  • Имя string
  • Изображение ???

Свяжите SelectedItems вашей конструкции представления с SelectedItems класса, а источник данных для конструкции представления - со списком AvailableItems.Затем вам нужно подключиться к событию изменения коллекции для каждой строки и поместить свою логику, чтобы ограничить число значений столбцов.

...