Как передать нескольким view один экземпляр viewmodel?

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


Ответы (1 шт):

Автор решения: alex6327

Сделайте для VM некий аналог синглтона, т.е. создайте статический метод(например с именем GetInstance), который будет всегда возвращать единый экземпляр класса(VM). А дальше создаете хоть сколько угодно окон по следующему типу:

MyWindow win = new MyWindow
{
   DataContext = MyViewModel.GetInstance()
};
→ Ссылка