| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;namespace Venus_MainPages.Unity{    public class TextBoxMaxValue    {        public static int GetMaxValue(DependencyObject obj)        {            return (int)obj.GetValue(MaxValueProperty);        }        public static void SetMaxValue(DependencyObject obj, int value)        {            obj.SetValue(MaxValueProperty, value);        }        public static readonly DependencyProperty MaxValueProperty =            DependencyProperty.RegisterAttached("MaxValue", typeof(int), typeof(TextBoxMaxValue), new PropertyMetadata(OnTextBoxPropertyChanged));        private static void OnTextBoxPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)        {            TextBox tb = d as TextBox;            if (tb == null)            {                return;            }            tb.Tag = e.NewValue;            tb.TextChanged += Tb_TextChanged;        }        private static void Tb_TextChanged(object sender, TextChangedEventArgs e)        {            TextBox tb = sender as TextBox;            if (tb.Text == "")            {                return;            }            string str = tb.Text;            str = Regex.Replace(str, @"[^\d.\d]", "");            if (Regex.IsMatch(str, @"^[+-]?\d*[.]?\d*$"))            {                decimal result;                decimal.TryParse(str, out result);                if (result > (int)tb.Tag)                {                    tb.Text = tb.Tag.ToString();                }            }        }    }}
 |