Catel.MVVM.ManagedViewModel.OnViewModelPropertyChanged C# (CSharp) Method

OnViewModelPropertyChanged() private method

Handles the PropertyChanged event of the ViewModel instances.
private OnViewModelPropertyChanged ( object sender, PropertyChangedEventArgs e ) : void
sender object The source of the event.
e System.ComponentModel.PropertyChangedEventArgs The instance containing the event data.
return void
        private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            lock (_lock)
            {
                var viewModels = (from viewModel in _interestedViewModels
                                  select viewModel.Value).ToList();

                foreach (var viewModel in viewModels)
                {
                    try
                    {
                        var notifyableViewModel = viewModel as INotifyableViewModel;
                        if (notifyableViewModel != null)
                        {
                            notifyableViewModel.ViewModelPropertyChanged((IViewModel)sender, e.PropertyName);
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.Error(ex, "Failed to let an interested view model know that a view model has changed. Probably the view model is not correctly cleaned up");
                    }
                }
            }
        }