Catel.MVVM.ManagedViewModel.OnViewModelCommandExecutedAsync C# (CSharp) 메소드

OnViewModelCommandExecutedAsync() 개인적인 메소드

Called when the ViewModelBase.CommandExecuted event is raised.
private OnViewModelCommandExecutedAsync ( object sender, Catel.MVVM.CommandExecutedEventArgs e ) : Task
sender object The sender.
e Catel.MVVM.CommandExecutedEventArgs The instance containing the event data.
리턴 Task
        private Task OnViewModelCommandExecutedAsync(object sender, CommandExecutedEventArgs 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.ViewModelCommandExecuted((IViewModel)sender, e.Command, e.CommandParameter);
                        }
                    }
                    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");
                    }
                }
            }

            return TaskHelper.Completed;
        }