| 123456789101112131415161718192021222324252627282930313233343536 | 
							- using Avalonia.Controls;
 
- using Avalonia.Input;
 
- using Avalonia.Interactivity;
 
- using InABox.Core;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Globalization;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- namespace InABox.Avalonia.Components;
 
- public class IntegerBox : NumericUpDown
 
- {
 
-     protected override Type StyleKeyOverride => typeof(NumericUpDown);
 
-     public IntegerBox()
 
-     {
 
-         ParsingNumberStyle = NumberStyles.Integer;
 
-         FormatString = "N0";
 
-         ShowButtonSpinner = false;
 
-         AddHandler(TextInputEvent, TunnelTextEvent, RoutingStrategies.Direct | RoutingStrategies.Tunnel);
 
-     }
 
-     private void TunnelTextEvent(object? sender, TextInputEventArgs e)
 
-     {
 
-         e.Text = new string(e.Text?.WithIndex()
 
-             .Where(x => (x.Key == 0 && x.Value == '-') || Char.IsDigit(x.Value))
 
-             .Select(x => x.Value).ToArray());
 
-         if(e.Text == "")
 
-         {
 
-             e.Handled = true;
 
-         }
 
-     }
 
- }
 
 
  |