В моем приложении у меня есть следующий MasterViewModel1-класс.
public class MasterViewModel1 : ViewModelBase
{
private ObservableCollection<ObservableObject> _MainGrid;
public ObservableCollection<ObservableObject> MainGrid
{
get => _MainGrid;
set
{
_MainGrid = value;
RaisePropertyChanged();
}
}
public ObservableCollection<FilterItem> FilterItems
{
get;
set;
}
public MasterViewModel1()
{
CreateDefaultMenu();
}
public void CreateDefaultMenu()
{
FilterItems = new ObservableCollection<FilterItem>
{
new FilterItem(OnFilterClicked)
{
Content = "Filter"
},
new FilterItem(OnFilterCancelClicked)
{
Content = "Filter aufheben"
}
};
}
public virtual void OnFilterClicked() { }
public virtual void OnFilterCancelClicked() { }
MasterViewModel1-класс наследуется TestViewModel-классом.
public class TestViewModel : MasterViewModel1
{
private Kunde _NeuerKunde;
public Kunde NeuerKunde
{
get => _NeuerKunde;
set => _NeuerKunde = value;
}
private string _Kundenmatchcode;
public string Kundenmatchcode
{
get => _Kundenmatchcode;
set
{
_Kundenmatchcode = value;
RaisePropertyChanged();
}
}
public TestViewModel()
{
NeuerKunde = new Kunde();
}
}
Я использую MasterViewModel1-класс и его представление по повторно используемым причинам, потому что в будущем будет гораздо больше представлений, которые унаследуют MasterViewModel.
Внутри MasterView необходимо связать с обоими, MasterViewModel, поэтому у меня есть «Базовый дизайн» ». И мне нужно привязать к «Sub» ViewModel, в этом примере TestViewModel.
Представление MasterViewModel1
На изображении вы можете увидеть MasterView. Обозначенная красным область - это место, где нужно разместить TestViewModel (TestView). Я не могу использовать статический ресурс !!! Это должно быть Dynami c, поэтому, если я создаю другую ViewModel, которая также наследуется от MasterViewModel1. Обозначенная красным область должна меняться в зависимости от экземпляра ViewModel.
Надеюсь, все понятно. Если вам нужна дополнительная информация, пожалуйста, спросите.