namespace HDI_WPF_MVVMIntro_cs { /// <summary> /// Interaction logic for App.xaml /// </summary> public partial class App : Application { protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); MainWindow window = new MainWindow(); var viewModel = new MainWindowsViewModel(); window.DataContext = viewModel; window.Show(); } } }
using System.Collections.ObjectModel; using HDI_WPF_MVVMIntro_cs.DataAccess; namespace HDI_WPF_MVVMIntro_cs.ViewModel { public class MainWindowsViewModel : ViewModelBase { readonly EmployeeRespository _employeeRepository; ObservableCollection<ViewModelBase> _viewModels; public MainWindowsViewModel() { _employeeRepository = new EmployeeRespository(); EmployeeListViewModel viewModel = new EmployeeListViewModel (_employeeRepository); this.ViewModels.Add(viewModel); } public ObservableCollection<ViewModelBase> ViewModels { get { if (_viewModels == null) { _viewModels = new ObservableCollection<ViewModelBase>(); } return _viewModels; } } } }
<Window x:Class="HDI_WPF_MVVMIntro_cs.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:vm="clr-namespace:HDI_WPF_MVVMIntro_cs.ViewModel" xmlns:vw="clr-namespace:HDI_WPF_MVVMIntro_cs.View" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <DataTemplate DataType="{x:Type vm:EmployeeListViewModel}"> <vw:EmployeeListView /> </DataTemplate> </Window.Resources> <Grid Margin="4"> <ItemsControl ItemsSource="{Binding ViewModels}" Margin="4" /> </Grid> </Window>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)