2016-04-25 10 views
1

Ich persönlich denke, dass Service Locator ein Anti-Pattern ist, aber ich finde es wirklich üblich, einen "ViewModelLocator" zu sehen, von dem jede Ansicht ihre DataSource in XAML-basierten Anwendungen nimmt.Injektion von ViewModels ohne Service Locator

Wie wird dies vermieden?

Antwort

2

Sie können ein MVVM-Framework verwenden, das Konventionen wie Caliburn.Micro verwendet. In Caliburn registrieren Sie Ihr ViewModel beim Starten der App in einem DI-Container. Wenn Sie ein TestView haben, wird es automatisch an ein TestViewModel gebunden (Konvention nach Name, das Framework sucht das ViewModel im DI-Container, ruft eine Instanz auf und bindet sie.).

Verwandte Themen