internal static object GetOrCreateView(IViewModel vm, bool?alwaysCreateNewView, IDataContext dataContext = null) { #if API8 return(ViewManager.GetOrCreateView(vm, alwaysCreateNewView, dataContext).GetUnderlyingView()); #else //NOTE: trying to use current fragment, if any. var fragment = vm.Settings.Metadata.GetData(MvvmFragmentMediator.CurrentFragment, false); if (fragment == null) { return(ViewManager.GetOrCreateView(vm, alwaysCreateNewView, dataContext).GetUnderlyingView()); } return(fragment); #endif }