Как передать нескольким view один экземпляр viewmodel?
Работаю с паттерном MVVM. Есть два представления которые работают с одним viewmodel. Для каждого представления создается свой экземпляр viewmodel, но мне нужно чтобы представления использовали один экземпляр, как мне это сделать?
Ответы (1 шт):
Автор решения: alex6327
→ Ссылка
Сделайте для VM некий аналог синглтона, т.е. создайте статический метод(например с именем GetInstance), который будет всегда возвращать единый экземпляр класса(VM). А дальше создаете хоть сколько угодно окон по следующему типу:
MyWindow win = new MyWindow
{
DataContext = MyViewModel.GetInstance()
};