Каков наилучший подход к назначению контекста данных с использованием MVVM?
Я искал лучший подход для установки свойства контекста данных. Я нашел три пути
-
Назначьте контекст данных в представлении (либо на XAML, либо на коде сзади).
-
Назначить контекст данных в ViewModel через конструктор.
-
Используйте некоторую конфигурацию, которая позволяет просматривать и просматривать ссылку на модель и связывать контекст данных во время выполнения через некоторые классы инфраструктуры.
Какой из них лучший вариант с точки зрения слабосвязанного, поддерживаемого? Или есть лучший подход?
Ответы
Ответ 1
Мне лично нравится этот подход, потому что мне приходится писать меньше кода:). В основном он использует IValueConverter
для поиска, для просмотра которого каждый раз, когда элемент управления wpf должен визуально представлять ViewModel
, а IValueConverter
устанавливает для вас datacontext. Он также показывает вам, как создать datatemplate, который позволяет вам потребовать от WPF использовать этот конвертер по умолчанию, примерно так:
<DataTemplate DataType="{x:Type ViewModels:ViewModelBase}">
<ContentControl Content="{Binding Converter={StaticResource MyConverter}}"/>
</DataTemplate>
Ответ 2
4. путь - это DataTemplate.
Я думаю, что лучший подход - это тот, который лучше всего подходит в вашей нынешней ситуации.
Если у меня есть первый динамический сценарий viewmodel, я использую datatemplate/contentpresenter или с представлением сначала я прохожу один и т.д....