Browse Source

NumericUpDown and DateTimeUpDown: added NullValue property which allows you to set a default value if the bound value is null. The NullValue will be used when the increment/decrement buttons are pressed on a null value.

pull/1645/head
brianlagunas_cp 15 years ago
parent
commit
0669e78ec7
  1. 20
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/DateTimeUpDown/Implementation/DateTimeUpDown.cs
  2. 16
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/NumericUpDown/Implementation/NumericUpDown.cs

20
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/DateTimeUpDown/Implementation/DateTimeUpDown.cs

@ -75,6 +75,18 @@ namespace Microsoft.Windows.Controls
#endregion //FormatString
#region NullValue
public static readonly DependencyProperty NullValueProperty = DependencyProperty.Register("NullValue", typeof(DateTime), typeof(DateTimeUpDown), new UIPropertyMetadata(DateTime.Now));
public DateTime NullValue
{
get { return (DateTime)GetValue(NullValueProperty); }
set { SetValue(NullValueProperty, value); }
}
#endregion //NullValue
#region Value
public static readonly DependencyProperty ValueProperty = DependencyProperty.Register("Value", typeof(DateTime?), typeof(DateTimeUpDown), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault, OnValueChanged, OnCoerceValue));
@ -215,14 +227,18 @@ namespace Microsoft.Windows.Controls
protected override void OnIncrement()
{
if (Value != null)
if (Value.HasValue)
UpdateDateTime(1);
else
Value = NullValue;
}
protected override void OnDecrement()
{
if (Value != null)
if (Value.HasValue)
UpdateDateTime(-1);
else
Value = NullValue;
}
#endregion //Abstract

16
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/NumericUpDown/Implementation/NumericUpDown.cs

@ -86,6 +86,18 @@ namespace Microsoft.Windows.Controls
#endregion //FormatString
#region NullValue
public static readonly DependencyProperty NullValueProperty = DependencyProperty.Register("NullValue", typeof(decimal), typeof(NumericUpDown), new UIPropertyMetadata(default(decimal)));
public decimal NullValue
{
get { return (decimal)GetValue(NullValueProperty); }
set { SetValue(NullValueProperty, value); }
}
#endregion //NullValue
#region SelectAllOnGotFocus
public static readonly DependencyProperty SelectAllOnGotFocusProperty = DependencyProperty.Register("SelectAllOnGotFocus", typeof(bool), typeof(NumericUpDown), new PropertyMetadata(false));
@ -199,12 +211,16 @@ namespace Microsoft.Windows.Controls
{
if (Value.HasValue)
Value += Increment;
else
Value = NullValue;
}
protected override void OnDecrement()
{
if (Value.HasValue)
Value -= Increment;
else
Value = NullValue;
}
protected override void OnPreviewKeyDown(KeyEventArgs e)

Loading…
Cancel
Save