1234567891011121314151617181920212223242526272829303132 |
- using Avalonia.Controls;
- using Avalonia.Input;
- using Avalonia.Interactivity;
- 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 DoubleBox : NumericUpDown
- {
- protected override Type StyleKeyOverride => typeof(NumericUpDown);
- public DoubleBox()
- {
- ParsingNumberStyle = NumberStyles.Number;
- ShowButtonSpinner = false;
- AddHandler(TextInputEvent, TunnelTextEvent, RoutingStrategies.Direct | RoutingStrategies.Tunnel);
- }
- private void TunnelTextEvent(object? sender, TextInputEventArgs e)
- {
- e.Text = new string(e.Text?.Where(c => Char.IsDigit(c) || c == '.').ToArray());
- if(e.Text == "")
- {
- e.Handled = true;
- }
- }
- }
|