//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обработчик события изменения максимального/минимального значения величины /// </summary> /// <param name="sender">Источник события</param> /// <param name="args">Аргументы события</param> //--------------------------------------------------------------------------------------------------------- private static void OnMaxMinValueChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) { CubeXMeasurementEditor spin_editor = (CubeXMeasurementEditor)sender; if (args.Property == MinValueProperty) { Double min_value = (Double)args.NewValue; if (spin_editor.Value.Value < min_value) { spin_editor.Value = spin_editor.Value.Clone(min_value); spin_editor.SetPresentValue(); spin_editor.RaiseEvent(new RoutedEventArgs(ValueChangedEvent)); } } else { Double max_value = (Double)args.NewValue; if (spin_editor.Value.Value > max_value) { spin_editor.Value = spin_editor.Value.Clone(max_value); spin_editor.SetPresentValue(); spin_editor.RaiseEvent(new RoutedEventArgs(ValueChangedEvent)); } } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обработчик события изменения значения /// </summary> /// <param name="sender">Источник события</param> /// <param name="args">Аргументы события</param> //--------------------------------------------------------------------------------------------------------- private static void OnValueChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) { CubeXMeasurementEditor spin_editor = (CubeXMeasurementEditor)sender; spin_editor.SetPresentValue(); spin_editor.RaiseEvent(new RoutedEventArgs(ValueChangedEvent)); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обработчик события изменения значения по умолчанию /// </summary> /// <param name="sender">Источник события</param> /// <param name="args">Аргументы события</param> //--------------------------------------------------------------------------------------------------------- private static void OnValueDefaultChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) { CubeXMeasurementEditor spin_editor = (CubeXMeasurementEditor)sender; Double new_value = (Double)args.NewValue; spin_editor.Value = spin_editor.Value.Clone(new_value); spin_editor.SetPresentValue(); spin_editor.RaiseEvent(new RoutedEventArgs(ValueChangedEvent)); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обработчик события изменения значения только для чтения /// </summary> /// <param name="sender">Источник события</param> /// <param name="args">Аргументы события</param> //--------------------------------------------------------------------------------------------------------- private static void OnReadOnlyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) { CubeXMeasurementEditor spin_editor = (CubeXMeasurementEditor)sender; Boolean new_read_only = (Boolean)args.NewValue; if (new_read_only) { spin_editor.miClear.IsEnabled = false; spin_editor.miPaste.IsEnabled = false; spin_editor.miDefault.IsEnabled = false; } }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обработчик события изменения формата отображения значения /// </summary> /// <param name="sender">Источник события</param> /// <param name="args">Аргументы события</param> //--------------------------------------------------------------------------------------------------------- private static void OnFormatValueDefaultChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args) { CubeXMeasurementEditor spin_editor = (CubeXMeasurementEditor)sender; spin_editor.SetPresentValue(); }