Inheritance: INotifyPropertyChanged
 protected override void OnStartup(StartupEventArgs e)
 {
     base.OnStartup(e);
     var wrappedRepository = new ServiceRepository();
     var repository = new CachingRepository(wrappedRepository);
     var viewModel = new MainWindowViewModel(repository);
     Application.Current.MainWindow = new MainWindow(viewModel);
     Application.Current.MainWindow.Show();
 }
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new MainWindowViewModel();
 }
 public MainWindow(MainWindowViewModel viewModel)
 {
     InitializeComponent();
     DataContext = viewModel;
 }