Articles in this section
Category / Section

How to increment and decrement a value when UseNullOption is true in WPF UpDown control?

1 min read

You cannot increment or decrement the value by up and down buttons when Value is Null by default. Increment or decrement a value from the null in WPF UpDown can be achieved by handling PreviewMouseDown, PreivewKeyDown and MouseWheel events. In this sample, we have reset the value to 0(zero) using the events mentioned above. The following code has explained the same.

XAML

<syncfusion:UpDown Name="updown" Height="30" PreviewKeyDown="updown_PreviewKeyDown" 
                   VerticalAlignment="Center" HorizontalAlignment="Center"
                   MouseWheel="updown_MouseWheel"
                   Width="110"  Value="{x:Null}"
                   TextAlignment="Right" UseNullOption="True" 
                   IsScrollingOnCircle="True">
</syncfusion:UpDown>

C#

public MainWindow()
{
  InitializeComponent();            
  PreviewMouseDown += new MouseButtonEventHandler(MainWindow_PreviewMouseDown);
}
RepeatButton upbutton = null;
RepeatButton downbutton = null;
 
void MainWindow_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
  if (upbutton == null && downbutton == null)
  {
    upbutton = updown.Template.FindName("upbutton", updown) as RepeatButton;
    downbutton = updown.Template.FindName("downbutton", updown) as RepeatButton;
    if (upbutton != null)
      upbutton.PreviewMouseDown += new MouseButtonEventHandler(upbutton_PreviewMouseDown);
    if (downbutton != null)
      downbutton.PreviewMouseDown += new MouseButtonEventHandler(upbutton_PreviewMouseDown);
  }
}
void upbutton_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
  if (updown.Value == null && updown.UseNullOption)
    updown.Value = 0;
}
private void updown_PreviewKeyDown(object sender, KeyEventArgs e)
{
  if ((e.Key == Key.Up || e.Key == Key.Down) && updown.Value == null && updown.UseNullOption)
    updown.Value = 0;
}
private void updown_MouseWheel(object sender, MouseWheelEventArgs e)
{
  if (updown.Value == null && updown.UseNullOption)
    updown.Value = 0;
}

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied