From f28fa3ad84e67a12d4ba77a7cf4a5adcbe77efe0 Mon Sep 17 00:00:00 2001 From: GF-Huang Date: Mon, 23 Nov 2020 21:35:14 +0800 Subject: [PATCH] Add "StringFormat" property for NumericUpDown control. --- .../Controls/NumericUpDownDemoCtl.xaml | 6 ++++ .../Controls/Input/NumericUpDown.cs | 33 +++++++++++++++++-- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/NumericUpDownDemoCtl.xaml b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/NumericUpDownDemoCtl.xaml index ccebf3aa..433afce9 100644 --- a/src/Shared/HandyControlDemo_Shared/UserControl/Controls/NumericUpDownDemoCtl.xaml +++ b/src/Shared/HandyControlDemo_Shared/UserControl/Controls/NumericUpDownDemoCtl.xaml @@ -16,6 +16,12 @@ + diff --git a/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs b/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs index 28dbba39..d2e4dbd4 100644 --- a/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs +++ b/src/Shared/HandyControl_Shared/Controls/Input/NumericUpDown.cs @@ -153,9 +153,21 @@ namespace HandyControl.Controls } } - private string CurrentText => DecimalPlaces.HasValue - ? Value.ToString($"#0.{new string('0', DecimalPlaces.Value)}") - : Value.ToString("#0"); + private string CurrentText + { + get + { + if (string.IsNullOrWhiteSpace(StringFormat)) + { + return DecimalPlaces.HasValue ? Value.ToString($"#0.{new string('0', DecimalPlaces.Value)}") : + Value.ToString("#0"); + } + else + { + return Value.ToString(StringFormat); + } + } + } protected virtual void OnValueChanged(FunctionEventArgs e) => RaiseEvent(e); @@ -318,6 +330,21 @@ namespace HandyControl.Controls set => SetValue(DecimalPlacesProperty, value); } + /// + /// 指示要显示的数字的格式 + /// + public static readonly DependencyProperty StringFormatProperty = + DependencyProperty.Register("StringFormat", typeof(string), typeof(NumericUpDown), new PropertyMetadata(default(string))); + + /// + /// 指示要显示的数字的格式,这将会覆盖 属性 + /// + public string StringFormat + { + get { return (string)GetValue(StringFormatProperty); } + set { SetValue(StringFormatProperty, value); } + } + /// /// 是否显示上下调值按钮 ///