У меня есть приложение wpf-mvvm.
У меня есть базовый класс - baseViewModel ...
и два других класса, которые наследуют этот базовый класс
class aVM : baseViewModel
{
public string a {get;set;}
}
class bVM : baseViewModel
{
public string b {get;set;}
}
И еще один класс - как основная модель представления - которая привязывается к основному виду.
Class MainVM
{
public baseViewModel CurrentViewSource {get;set;}
}
Также в файле XAML (просмотр) - у меня есть два пользовательских элемента управления. Но контекст данных обоих из них является одним и тем же открытым свойством - CurrentViewSource - это тип - baseViewModel.
<---MainView start DataContext="MainVM" ----->
<---user control 1 satrt----->
<--DataContext = "CurrentViewSource " -->
// Here CurrentViewSource is of type aVM
<---user control 1 end ----->
<---user control 2 start----->
<-- DataContext = "CurrentViewSource " -->
// Here CurrentViewSource is of type bVM
<---user control 2 end----->
<---MainView end----->
Мне нужно отображать один пользовательский элемент управления одновременно, а другой скрывать.
Поскольку оба пользовательских элемента управления (UC) используют одну и ту же переменную контекста данных "CurrentViewSource",
Если UC1 виден (UC2 скрыт) - CurrentViewSource будет иметь тип aVM ... и UC2 (даже скрытый) .. использует это как текстовый текст данных .. и не может видеть строку b.
... Visual Studio показывает некоторые проблемы с привязкой. пожалуйста, помогите мне