Я пытаюсь найти менее беспорядочный способ повторения элемента управления n раз, в зависимости от значения свойства связанной модели. Однако первые элементы управления m из n должны отображаться иначе, тогда как m привязано к другому свойству ViewModel. Чтобы проиллюстрировать проблему, представьте, что у меня есть ViewModel, подобный этому ( n означает Display
и m Checked
здесь):
public class MyViewModel : ViewModelBase {
public int Display { get; set; }
public int Checked { get; set; }
/* ... */
}
Для Display = 5, Checked = 3
представление должно отображать что-то вроде:
(X) (X) (X) ( ) ( )
Каждый (X)
и ( )
должны быть экземплярами одного и того же типа дочернего представления. Теперь, когда пользователь нажимает на пятом (последнем) элементе управления, Checked
должен быть установлен на 5, и в представлении теперь будет отображаться
(X) (X) (X) (X) (X)
Теперь я могу добиться этого, подключив несколько обработчиков событий и программно добавляя и связывая экземпляры ( )
при каждом изменении Display
. Однако мне интересно, есть ли более лаконичный, менее запутанный метод для достижения этой цели.