public override void SetActualSize(Point available) { if (!Visible) { SetDimension(Point.Zero, available); return; } Point minSize = GetExpectedSize(available); SetDimension(minSize, available); Rectangle client = ActualClientArea; if (Orientation == Orientation.Horizontal) { // Trennung zwischen links und rechts if (Slot1 != null) { Slot1.SetActualSize(new Point(ActualSplitterPosition, client.Height)); } if (Slot2 != null) { Slot2.SetActualSize(new Point(client.Width - SplitterSize - ActualSplitterPosition, client.Height)); Slot2.ActualPosition += new Point(ActualSplitterPosition + SplitterSize, 0); } } else if (Orientation == Orientation.Vertical) { // Trennung zwischen oben und unten if (Slot1 != null) { Slot1.SetActualSize(new Point(client.Width, ActualSplitterPosition)); } if (Slot2 != null) { Slot2.SetActualSize(new Point(client.Width, client.Height - SplitterSize - ActualSplitterPosition)); Slot2.ActualPosition += new Point(0, ActualSplitterPosition + SplitterSize); } } }