J'ai rencontré deux façons d'initialiser Views et ViewModels dans WPF CAL MVVM.Quelle est la façon correcte d'initialiser un modèle et une vue dans WPF CAL MVVM
1 - Semble être plus populaire. Vous devez résoudre le ViewModel pour résoudre automatiquement la vue. Le ViewModel contient des informations sur la vue.
public interface IView
{
void SetModel(IViewModel model);
}
public interface IViewModel
{
IView View { get; }
}
public class View
{
public void SetModel(IViewModel model)
{
this.DataContext = model;
}
}
public class ViewModel
{
private IView view;
public ViewModel(IView view)
{
this.view = view;
}
public IView View { return this.view; }
}
2 - Semble beaucoup plus propre et supprime la vue du ViewModel. Vous oblige à résoudre la vue pour résoudre automatiquement le ViewModel. Injecte des objets dans la vue (Je ne sais pas si c'est bon ou non). Quelle est la méthode acceptée pour initialiser les vues et les modèles et quels sont les avantages et les inconvénients de chaque méthode. Devriez-vous injecter des objets dans votre vue?
La propriété View en option 1 a été trouvé par moi dans divers exemples mais je suis d'accord qu'il ne devrait pas être là. – anon