public override Geometry GetPreviewPath(OverlayWindow overlayWindow, LayoutFloatingWindow floatingWindowModel) { LayoutAnchorableFloatingWindow layoutAnchorableFloatingWindow = floatingWindowModel as LayoutAnchorableFloatingWindow; ILayoutPositionableElement rootPanel = layoutAnchorableFloatingWindow.RootPanel; ILayoutPositionableElementWithActualSize layoutPositionableElementWithActualSize = layoutAnchorableFloatingWindow.RootPanel; Rect screenArea = base.TargetElement.GetScreenArea(); switch (base.Type) { case DropTargetType.DockingManagerDockLeft: { double num = (rootPanel.DockWidth.IsAbsolute ? rootPanel.DockWidth.Value : layoutPositionableElementWithActualSize.ActualWidth); return(new RectangleGeometry(new Rect(screenArea.Left - overlayWindow.Left, screenArea.Top - overlayWindow.Top, Math.Min(num, screenArea.Width / 2), screenArea.Height))); } case DropTargetType.DockingManagerDockTop: { double num1 = (rootPanel.DockHeight.IsAbsolute ? rootPanel.DockHeight.Value : layoutPositionableElementWithActualSize.ActualHeight); return(new RectangleGeometry(new Rect(screenArea.Left - overlayWindow.Left, screenArea.Top - overlayWindow.Top, screenArea.Width, Math.Min(num1, screenArea.Height / 2)))); } case DropTargetType.DockingManagerDockRight: { double num2 = (rootPanel.DockWidth.IsAbsolute ? rootPanel.DockWidth.Value : layoutPositionableElementWithActualSize.ActualWidth); return(new RectangleGeometry(new Rect(screenArea.Right - overlayWindow.Left - Math.Min(num2, screenArea.Width / 2), screenArea.Top - overlayWindow.Top, Math.Min(num2, screenArea.Width / 2), screenArea.Height))); } case DropTargetType.DockingManagerDockBottom: { double num3 = (rootPanel.DockHeight.IsAbsolute ? rootPanel.DockHeight.Value : layoutPositionableElementWithActualSize.ActualHeight); return(new RectangleGeometry(new Rect(screenArea.Left - overlayWindow.Left, screenArea.Bottom - overlayWindow.Top - Math.Min(num3, screenArea.Height / 2), screenArea.Width, Math.Min(num3, screenArea.Height / 2)))); } } throw new InvalidOperationException(); }
protected override void OnActualHeightChanged() { base.OnActualHeightChanged(); ILayoutPositionableElementWithActualSize _maintab = (ILayoutPositionableElementWithActualSize)(this); foreach (ITabItem tab in TabItemCollection) { tab.ActualHeight = _maintab.ActualHeight; } }
protected override void OnActualWidthChanged() { base.OnActualWidthChanged(); ILayoutPositionableElementWithActualSize _maintab = (ILayoutPositionableElementWithActualSize)(this); int unitwidth = GlobalSetting.LadderWidthUnit; int unitnumber = GlobalSetting.LadderXCapacity; foreach (ITabItem tab in TabItemCollection) { tab.ActualWidth = _maintab.ActualWidth; } }