2012-03-28 3 views
2

Как вы думаете, хорошая практика создания UserControl уже с ViewModel и развертывания вместе? Таким образом, UserControl будет привязан к ViewModel со склада.Создание UserControls с ViewModels в WPF

Выглядит как хорошая идея для меня, но я никогда такого не видел.

Спасибо.

ответ

1

Я лично не вижу ничего плохого в этой идее. Для достаточно сложного UserControl в любом случае требуется ViewModel. Однако я бы сделал это (VM) максимально возможным.

Действительно, я видел несколько виртуальных машин, отправленных вместе с элементами управления - в Swing (Java). Например, TableModel служит в качестве своего рода VM для JTable. [Но без реальных привязок виртуальные машины Swing довольно слабы.]

2

Единственное, с чем вам следует быть осторожным в этом подходе, это то, что вы хотите, чтобы ваш datacontext был открыт и доступен для привязки к элементам управления, где вы используете этот элемент управления.

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

+1

Я бы создал свойства в ViewModel для привязанных свойств, и когда кто-то захочет изменить одно свойство элемента управления (например, некоторый субконтроль включен), ему придется пройти через View Model. –

Смежные вопросы