diff --git a/UI/Controls/Toggle/Toggle.cs b/UI/Controls/Toggle/Toggle.cs index 84d2cc552844303d8441dba7431438e51b988aea..18ac8fa326af243a5327d37b6f1017efd50a5497 100644 --- a/UI/Controls/Toggle/Toggle.cs +++ b/UI/Controls/Toggle/Toggle.cs @@ -23,10 +23,7 @@ namespace UI.Controls.Toggle private static void OnIsCheckedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var control = d as Toggle; - if (e.OldValue != e.NewValue) - { - control.Text = control.IsChecked ? control.OnText : control.OffText; - } + VisualStateManager.GoToState(control, control.IsChecked ? "On" : "Off", true); } @@ -50,7 +47,7 @@ namespace UI.Controls.Toggle set { SetValue(TextProperty, value); } } public static readonly DependencyProperty TextProperty = - DependencyProperty.Register("Text", typeof(string), typeof(Toggle), new PropertyMetadata("关")); + DependencyProperty.Register("Text", typeof(string), typeof(Toggle)); public Toggle() { @@ -66,7 +63,6 @@ namespace UI.Controls.Toggle base.OnMouseLeftButtonUp(e); IsChecked = !IsChecked; ToggleChanged?.Invoke(this, EventArgs.Empty); - VisualStateManager.GoToState(this, IsChecked ? "On" : "Off", true); } } } diff --git a/UI/Themes/Toggle/Toggle.xaml b/UI/Themes/Toggle/Toggle.xaml index 0d8d2c6a60d9b249bae295a1521d5101ba6f0ddc..8bb8b9f8e686a7d9768f3dd005822d3d908a3141 100644 --- a/UI/Themes/Toggle/Toggle.xaml +++ b/UI/Themes/Toggle/Toggle.xaml @@ -24,7 +24,9 @@ - + + + @@ -60,6 +62,8 @@ Storyboard.TargetName="Mark"> + @@ -67,7 +71,14 @@ - + + + + + + + +