Catel.MVVM.Providers.LogicBase.InitializeViewModelAsync C# (CSharp) Method

InitializeViewModelAsync() private method

private InitializeViewModelAsync ( ) : Task
return Task
        private async Task InitializeViewModelAsync()
        {
            var viewModel = ViewModel;
            if (ViewModel != null)
            {
                // Initialize the view model. The view model itself is responsible to prevent double initialization
                await viewModel.InitializeViewModelAsync();

                // Revalidate since the control already initialized the view model before the control
                // was visible, therefore the WPF engine does not show warnings and errors
                var viewModelAsViewModelBase = viewModel as ViewModelBase;
                if (viewModelAsViewModelBase != null)
                {
                    viewModelAsViewModelBase.Validate(true, false);
                }
                else
                {
                    viewModel.ValidateViewModel(true, false);
                }

                _isFirstValidationAfterLoaded = true;
            }
        }