private void Knob_OnMouseUp(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) { ((UIElement)sender).ReleaseMouseCapture(); if (_isMouseOn) { VisualStateManager.GoToElementState(this, (!IsRealValueTrue()) ? "MouseOverOff" : "MouseOverOn", true); } else { VisualStateManager.GoToElementState(this, (!IsRealValueTrue()) ? "NormalOff" : "NormalOn", true); } if (_isMouseOn) { _value = 1 - GetRealValue(); if (_parameter != null) { _parameter.BeginEditValueFromUI(); SetValue(); _parameter.FinishEditValueFromUI(); PluginUI.Instance.Log(string.Format("{0} = {1} {2}", _parameter.Name, _parameter.GetDisplayValue(), _parameter.Label)); } else { UpdateController(); } } } }
private void Element_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { if (IsMouseOver && _parameter?.RealDefaultValue != null) { _isMouseDown = false; _value = _parameter.RealDefaultValue.Value; _parameter.BeginEditValueFromUI(); SetValue(); _parameter.FinishEditValueFromUI(); } }
private void Knob_OnMouseDown(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Left) { ((UIElement)sender).CaptureMouse(); _isMouseDown = true; _mouseStartPoint = e.GetPosition(this); _knobStartValue = GetRealValue(); VisualStateManager.GoToElementState(this, "Pressed", true); _parameter?.BeginEditValueFromUI(); } }