Если бы я правильно понял вашу проблему, это помогло бы вам.
Предположим, у каждого представления есть ViewModel.Допустим, View1VM, View2VM и ViewFVM являются виртуальными машинами для View1, View2 и ViewFM соответственно.Пусть MainVM будет ViewModel окна, в котором будут размещаться View1 и View2.
Иметь экземпляр ViewFVM в MainVM.При создании экземпляров View1VM и View2VM внедрите экземпляр MainVM (также можно использовать интерфейсы, чтобы каждому представлению были доступны только соответствующие данные) и иметь свойство в View1 и View2, которое возвращает экземпляр ViewFVM mainVM.Привязать его к текстовому тексту ViewF в xaml.
Код будет выглядеть следующим образом:
public class ViewFVM
{
//Store the state of ViewF
}
public class MainVM
{
public ViewFVM viewFVM;
public MainVM()
{
View1VM view1VM = new View1VM(this);
View2VM view2VM = new View2VM(this);
}
}
public class View1VM
{
private MainVM _mainVM;
public View1VM(MainVM mainVM)
{
_mainVM = mainVM;
}
public ViewFVM ViewFViewModel {get {return _mainVM.viewFVM;}}
}
public class View2VM
{
private MainVM _mainVM;
public View2VM(MainVM mainVM)
{
_mainVM = mainVM;
}
public ViewFVM ViewFViewModel {get {return _mainVM.viewFVM;}}
}
В xaml каждого представления, т. Е. Для View1 и View2, установите ViewFViewModel в качестве datacontext посредством привязки.