private async void OnTargetViewLoadedInternal(object sender, EventArgs e)
{
if (!CanLoad)
{
return;
}
Log.Debug($"Target view '{TargetViewType?.Name}' has been loaded");
var view = TargetView;
if (view != null)
{
_viewManager.RegisterView(view);
}
IsTargetViewLoaded = true;
var dataContext = view.DataContext;
LastKnownDataContext = (dataContext != null) ? new WeakReference(dataContext) : null;
await OnTargetViewLoadedAsync(sender, e);
TargetView.EnsureVisualTree();
var targetViewAsViewModelContainer = TargetView as IViewModelContainer;
if (targetViewAsViewModelContainer != null)
{
ViewToViewModelMappingHelper.InitializeViewToViewModelMappings(targetViewAsViewModelContainer);
}
TargetView.Dispatch(() =>
{
#pragma warning disable 4014
// No need to await
InitializeViewModelAsync();
#pragma warning restore 4014
});
IsLoading = false;
}