I know that there are many articles about my problem, but I can not find a solution. I am new to WPF - MVVM and I am trying to understand MVVM-Logic. So I did a little project to figure it out. For my later applications, I want to dynamically load UserControls into my window.
In my StartView, I have a binding to StartViewModel. (The binding is in APP.xaml)
StartView app = new StartView(); StartViewModel context = new StartViewModel();
Startview
<Window x:Class="test.Views.StartView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:views="clr-namespace:test.ViewModel" Title="Window1" Height="300" Width="516"> <Grid> <Menu IsMainMenu="True" Margin="0,0,404,239"> <MenuItem Header="_Einstellungen"> <MenuItem Header="Server" /> </MenuItem> </Menu> <ContentControl Content="{Binding LoadedControl}" Margin="0,28,0,128" /> </Grid> </Window>
StartViewModel
namespace test.ViewModel { public class StartViewModel : ViewModelBase { #region Fields private UCStastistikViewModel _loadedControl; #endregion public StartViewModel() { LoadedControl = new UCStastistikViewModel(); } #region Properties / Commands public UCStastistikViewModel LoadedControl { get { return _loadedControl; } set { if (value == _loadedControl) return; _loadedControl = value; OnPropertyChanged("LoadedControl"); } } #endregion #region Methods #endregion } }
UCStatistikView
<UserControl x:Class="test.Views.UCStatistik" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:vm="clr-namespace:test.ViewModel" mc:Ignorable="d" d:DesignHeight="188" d:DesignWidth="508"> <UserControl.DataContext> <vm:UCStastistikViewModel /> </UserControl.DataContext> <Grid Background="red"> </Grid> </UserControl>
UCStatistikViewModel
namespace test.ViewModel { public class UCStastistikViewModel : ViewModelBase { #region Fields #endregion public UCStastistikViewModel() { } #region Properties / Commands #endregion #region Methods #endregion } }
Now I want to load my UCStatistikView into the ContentControl of my StartView. But in Startview, only the Path test is shown .UCStatistikViewModel instead of all UC Can someone give me some ideas in which my problem / where I am wrong?
Bye j
source share