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

OnTargetViewUnloadedInternal() private method

Called when the TargetView has just been unloaded.
This method will call the OnTargetViewUnloadedAsync which can be overriden for custom behavior. This method is required to protect from duplicate unloaded events.
private OnTargetViewUnloadedInternal ( object sender, EventArgs e ) : void
sender object The sender.
e System.EventArgs The instance containing the event data.
return void
        private async void OnTargetViewUnloadedInternal(object sender, EventArgs e)
        {
            if (!CanUnload)
            {
                return;
            }

            Log.Debug($"Target view '{TargetViewType?.Name}' has been unloaded");

            var view = TargetView;
            if (view != null)
            {
                _viewManager.UnregisterView(view);
            }

            IsTargetViewLoaded = false;
            _isFirstValidationAfterLoaded = true;

            await OnTargetViewUnloadedAsync(sender, e);

            var targetViewAsViewModelContainer = TargetView as IViewModelContainer;
            if (targetViewAsViewModelContainer != null)
            {
                ViewToViewModelMappingHelper.UninitializeViewToViewModelMappings(targetViewAsViewModelContainer);
            }

            IsUnloading = false;
        }