WPF 数据验证

  • Post author:
  • Post category:其他


界面中用户输入的参数,有时候需要进行数据验证,若是输入格式不符合要求,我们希望在输入的时候,界面中就可以有所体现。

以下是Demo,View中,需要新增:ValidatesOnDataErrors=True

<TextBox Text="{Binding LevelId,
                        ValidatesOnDataErrors=True, 
                        UpdateSourceTrigger=PropertyChanged, 
                        NotifyOnValidationError=True}"></TextBox>

ViewModel中,需要实现IDataErrorInfo接口,

 #region WPF验证

        public string Error => string.Empty;

        public string this[string columnName]
        {
            get
            {
                if (columnName == nameof(LevelId) && LevelId < 1)
                {
                    return "必须输入大于0的整数.";
                }
                //其他属性的验证,都可以写在这里。
                //if (columnName == nameof(LevelId) && LevelId < 1)
                //{
                //    return "必须输入大于0的整数.";
                //}
                return null;
            }
        }

        #endregion

最后的实现效果:



版权声明:本文为niaxiapia原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。