/// <summary> /// Constructor used when window is created as consequence of user interaction</summary> /// <param name="root">Parent dock panel</param> /// <param name="content">Content to host</param> /// <param name="origin">Origin, position on screen</param> /// <param name="size">Size of window</param> public FloatingWindow(DockPanel root, IDockContent content, Point origin, Size size) : this(root) { Left = origin.X; Top = origin.Y; Width = size.Width; Height = size.Height; if (content is TabLayout) { DockedContent = (TabLayout)content; } else { DockedContent = new TabLayout(Root); DockedContent.Dock(null, content, DockTo.Center); } foreach (DockContent subContent in DockedContent.Children) { subContent.Settings.DockState = DockState.Floating; } Content = DockedContent; Binding b = new Binding("Header"); b.Source = DockedContent; SetBinding(Window.TitleProperty, b); }
/// <summary> /// Constructor used when the window is created as a consequence of user interaction with the UI</summary> /// <param name="dockPanel">Parent dockpanel</param> /// <param name="content">Dockable content</param> public DockedWindow(DockPanel dockPanel, IDockContent content) { Root = dockPanel; DockedContent = content as TabLayout; if (DockedContent == null) { DockedContent = new TabLayout(Root); DockedContent.Dock(null, content, DockTo.Center); } Content = DockedContent; ShowIcon = (DockedContent.Icon != null && ((Root.IconVisibility & IconVisibility.Header) == IconVisibility.Header)); DockedContent.Closing += Content_Closing; PreviewMouseDown += DockedWindow_PreviewMouseDown; Focused = ((IDockContent)DockedContent).IsFocused; }
/// <summary> /// Constructor used when window is created as consequence to user interaction. /// </summary> /// <param name="root">Parent dock panel</param> /// <param name="content">Content to host</param> /// <param name="origin">Origin, position on screen</param> /// <param name="size">Size of window</param> public FloatingWindow(DockPanel root, IDockContent content, Point origin, Size size) : this(root) { Left = origin.X; Top = origin.Y; Width = size.Width; Height = size.Height; if (content is TabLayout) { DockedContent = (TabLayout)content; } else { DockedContent = new TabLayout(Root); DockedContent.Dock(null, content, DockTo.Center); } foreach (DockContent subContent in DockedContent.Children) { subContent.Settings.DockState = DockState.Floating; } Content = DockedContent; Binding b = new Binding("Header"); b.Source = DockedContent; SetBinding(Window.TitleProperty, b); }