public TimeBalanceServer(MainViewModel mainViewModel) { mMainViewModel = mainViewModel; mMainViewModel.PropertyChanged += mMainViewModel_PropertyChanged; mMonthViewModel = mainViewModel.MonthViewModel; mMonthViewModel.PropertyChanged += MonthViewModel_PropertyChanged; mRefreshTimer = new System.Windows.Threading.DispatcherTimer(); mRefreshTimer.Tick += new EventHandler(dispatcherTimer_Tick); mRefreshTimer.Interval = TimeSpan.FromSeconds(29); mRefreshTimer.Start(); }
void mMainViewModel_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (sender is MainViewModel && e.PropertyName == "MonthViewModel") { if (mMonthViewModel != null) { mMonthViewModel.PropertyChanged -= MonthViewModel_PropertyChanged; } mMonthViewModel = mMainViewModel.MonthViewModel; if (mMainViewModel.MonthViewModel != null) { mMainViewModel.MonthViewModel.PropertyChanged += MonthViewModel_PropertyChanged; } } }
void mainWindowVM_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (sender is MainViewModel && e.PropertyName == "MonthViewModel") { if (_monthVM != null) { uninstallEventHandlers(); } _monthVM = _mainWindowVM.MonthViewModel; if (_mainWindowVM.MonthViewModel != null) { installEventHandlers(); } } }