private void MinimizePanel_Click(object sender, RoutedEventArgs e) { switch (FormattingPanel.Visibility) { case Visibility.Visible: double originalTop = this.Top; double originalLeft = this.Left; panelLocation = ControlsPanel.TransformToVisual(this).Transform(new Point(0, 0)); FormattingPanel.Visibility = Visibility.Collapsed; MinimizePanelButton.Content = "+"; this.Top = originalTop + panelLocation.Y; this.Left = originalLeft + panelLocation.X; break; case Visibility.Hidden: case Visibility.Collapsed: FormattingPanel.Visibility = Visibility.Visible; MinimizePanelButton.Content = "-"; this.Top -= panelLocation.Y; this.Left -= panelLocation.X; break; } }