public static DockingWindow CreateWindow(this DockSite dockSite, object viewModel, bool isDocumentWindow = true, object context = null) { var view = dockSite.EnsureWindow(viewModel, ViewLocator.LocateForModel(viewModel, null, context), isDocumentWindow); ViewModelBinder.Bind(viewModel, view, context); var haveDisplayName = viewModel as IHaveDisplayName; if (haveDisplayName != null && !ConventionManager.HasBinding(view, HeaderedContentControl.HeaderProperty)) { var binding = new Binding("DisplayName") { Mode = BindingMode.TwoWay }; view.SetBinding(HeaderedContentControl.HeaderProperty, binding); } new DockableWindowConductor(dockSite, viewModel, view); return(view); }