C# - 在文本框中限制输入的值介于0.0到1.0之间

时间:2015-12-18 02:15:24

标签: c# wpf textbox

我是C#和WPF的新手。我的WPF应用程序中有一个文本框,我想限制用户在文本框中输入的值介于0.0和1.0之间。我该怎么做?

任何帮助都会非常有用。

3 个答案:

答案 0 :(得分:1)

如果您正在关注MVVM

,则可以在“属性”的帮助下执行相同的操作
private double  _MyLimittedValue;
public double  MyLimittedValue
  {
    get { return _MyLimittedValue; }
    set {
          if (value < 0.0 || value > 1.0) { value = 0.0; } 
          _MyLimittedValue = value; 
        }
  }

然后使用MyLimittedValueText绑定到文本框的"mode=TwoWay,updatesourcetrigger=propertychanged"

因此,如果您输入任何其他值,文本框中的文本将变为0.0

答案 1 :(得分:0)

这可能会为你做到这一点

private void TexBoxName_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    var patten = @"^(0(\.\d*)?|1(\.0*)?)$";
    Regex regex = new Regex(patten);
    e.Handled = !regex.IsMatch(e.Text);
}

答案 2 :(得分:0)

使用范围时。尝试使用RangeBase变体viz; ScrollBar,ProgressBar和Slider。

在你的情况下,滑块是自然的选择,并且是最好的。