Wpf UserControl и MVVM

Я думаю о записи Пользовательского элемента управления WPF для моего приложения. Я использую MVVM в своем приложении.

Пользовательский элемент управления может потребовать Свойств Зависимости, которые могут быть установлены мое Родительское Представление. при использовании MVVM идея состоит в том, что Родительское Представление в конечном счете создаст привязку между UserControls DP с VM родительского представления)

Dependency Properties потребность, которая будет создана в классе Представления как VM, не наследовалась DependencyObject. Это означает добавлять код в рамках кода XAML позади.

Я задавался вопросом, можно ли дать совет относительно того, как я должен разработать пользовательский элемент управления при разрабатывании приложения WPF с помощью MVVM...

23
задан akjoshi 28 February 2014 в 08:10
поделиться

1 ответ

Случай 1: Если вы создаете этот элемент управления только для потребления в вашем приложении, то вы можете продолжить и создать ViewModel для него, но тогда вам не нужно создавать DP, ваша ViewModel может просто реализовать INotifyPropertyChanged и ваш родительский Vm все еще может привязываться к ним.

В нашем случае, для пользовательских элементов управления мы создали отдельную VM, и ее экземпляр присутствовал в ParentVM. Поэтому родительское представление будет иметь этот элемент управления в нем и свяжет UserControlVM с этим элементом управления(ParentVM.UserControlVM), а usercontrol позаботится о других привязках.

Случай 2: Если ваш элемент управления будет использоваться другими приложениями/разработчиками, и вы не хотите сохранить его простым, тогда продолжайте создавать пользовательские элементы управления, следуя реализации шаблона элемента управления. Так вы сможете создавать элементы управления без внешнего вида и использовать зависимые свойства. Кроме того, тому, кто использует этот элемент управления, не нужно знать о связанной модели представления и использовать ее.

Некоторые из похожих вопросов/постов:

Вопрос по дизайну WPF (пользовательский элемент управления или mvvm): Вопрос по дизайну WPF (пользовательский элемент управления или mvvm)

Пользовательский элемент управления в WPF с использованием MVVM концепция: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/6293b176-e1e9-4610-af49-d53e6d294969/

WPF User Control hell with MVVM and Dependency Properties: WPF User Control hell with MVVM and Dependency Properties

27
ответ дан 29 November 2019 в 02:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: