WPF中IP地址的文本框验证

时间:2010-12-20 05:33:01

标签: c# wpf validation textbox

我正在使用C#制作WPF应用程序。我想只对整数(0123456789和“。”)进行验证。文本框应该包含一个IP地址......所以需要确保用户在点击“提交”之前键入正确的“IP地址” “按钮......我怎样才能实现它?

感谢。

4 个答案:

答案 0 :(得分:3)

您可以使用Wpf绑定验证规则或使用自定义屏蔽文本框

轻松实现此目的

检查这些链接,了解您正在寻找的内容

http://geekswithblogs.net/QuandaryPhase/archive/2008/12/17/wpf-masked-textbox.aspx

http://www.switchonthecode.com/tutorials/wpf-tutorial-binding-validation-rules

希望有所帮助......

答案 1 :(得分:2)

听起来你正在尝试实现一个蒙版文本框,这是一个文本框,可以在用户根据指定模式键入时自动格式化数据。请查看本教程,了解如何实现此功能,因为WPF中没有开箱即用的功能:Masked TextBox in WPF

答案 2 :(得分:2)

StackOverflow上的以下问题链接包含许多MaskedTextBoxWPF实现的指针。您可以使用它来从用户那里获得IP Address输入。

Where can I find a free masked TextBox in WPF?

答案 3 :(得分:1)

 <TextBox IsReadOnly="False" Name="txtIpAddress">
                            <TextBox.Text>
                                <Binding Path="IpAddress" UpdateSourceTrigger="PropertyChanged" NotifyOnValidationError="True" >
                                    <Binding.ValidationRules>
                                        <Local:IPValidationRule />
                                    </Binding.ValidationRules>
                                </Binding>
                            </TextBox.Text>
                        </TextBox>
Public class IPValidationRule: ValidationRule
    {
     public override ValidationResult Validate(object value,System.Globalization.CultureInfo cultureInfo)
    {
    if(value == Rejex.Match(your condtion)
    {
    return new ValidationResult(true, null);
    }
    else
    {               
     return new ValidationResult(false, "Invalid_Address");
    }
    }
    }