public override async void OnTargetViewDataContextChanged(object sender, Catel.MVVM.Views.DataContextChangedEventArgs e)
{
if (IsCurrentDataContext(e))
{
return;
}
if (!IsTargetViewLoaded && !IsLoading)
{
return;
}
// Fix in WinRT to make sure inner grid is created
CreateViewModelWrapper();
// Fix for CTL-307: DataContextChanged is invoked before Unloaded because Parent is set to null
var targetControlParent = TargetView.GetParent();
if (targetControlParent == null)
{
return;
}
base.OnTargetViewDataContextChanged(sender, e);
var dataContext = TargetView.DataContext;
if (dataContext.IsSentinelBindingObject())
{
return;
}
if (!IsUnloading)
{
await UpdateDataContextToUseViewModelAsync(dataContext);
}
}