private void KnobsPanel_PointerReleased(object sender, Input.PointerReleasedEventArgs e) { if (_isDragging) { bool shouldBecomeChecked = Canvas.GetLeft(_knobsPanel) >= (_switchKnob.Bounds.Width / 2); _knobsPanel.ClearValue(Canvas.LeftProperty); PseudoClasses.Set(":dragging", false); if (shouldBecomeChecked == IsChecked) { UpdateKnobPos(shouldBecomeChecked); } else { IsChecked = shouldBecomeChecked; } } else { base.Toggle(); } _isDragging = false; _knobsPanelPressed = false; }