protected override object CreateSpecificView(ViewModel mdl, Zetbox.App.GUI.ControlKind kind) { System.Windows.Controls.Control view = (System.Windows.Controls.Control)base.CreateSpecificView(mdl, kind); if (view != null) { view.DataContext = mdl; } return(view); }
/// <summary> /// Show a foreign model by finding and creating the equivalent model on the local DataContext. /// </summary> /// <param name="dataObject"></param> /// <param name="requestedKind"></param> /// <returns></returns> public DataObjectViewModel ShowForeignModel(DataObjectViewModel dataObject, Zetbox.App.GUI.ControlKind requestedKind) { if (dataObject == null || dataObject.Object == null) { return(null); } var other = dataObject.Object; var here = DataContext.Find(DataContext.GetInterfaceType(other), other.ID); var vm = DataObjectViewModel.Fetch(ViewModelFactory, DataContext, this, here); SelectedItem = vm; vm.RequestedKind = requestedKind; AddItem(vm); return(vm); }