Вот что я сделал в этом случае:
Поскольку у вас есть несколько свойств, которые вы хотите привязать к каждой кнопке, включая команду, я бы сделал отдельную маленькую ViewModel (MyButtonViewModel
)для каждой кнопки, которая включает в себя свойства и команду.
Затем в первичной модели представления я создаю коллекцию (ObservableCollection<MyButtonViewModel>
) моделей ваших представлений кнопок и заполняю ее с помощью простого цикла (или LINQ)) code.
Затем в представлении я бы объявил ItemsControl
для использования ItemPanel
из UniformGrid
.Затем для ItemTemplate
я бы определил кнопку для привязки к свойствам в MyButtonViewModel
.
Простой, маленький и элегантный IMO.
Дайте мне знать, если вам нужно какое-либо разъяснение, B