IDE:VS2017


新稱一個類別

  public class PropertyValidateModel : IDataErrorInfo
    {
        public string this[string columnName] {
            get {
                List<ValidationResult> validationResults = new List<ValidationResult>();

                bool result = Validator.TryValidateProperty(
                    GetType().GetProperty(columnName).GetValue(this),
                    new ValidationContext(this)
                    {
                        MemberName = columnName
                    },
                    validationResults);

                if (result)
                    return null;

                return validationResults.First().ErrorMessage;
            }
        }

        public string Error {
            get {
                return null;
            }
        }
    }


這裡需要繼承 INotifyPropertyChanged與PropertyValidateModelInterFace喔

private string _User;

  [Required, StringLength(50)]
        public string User {
            get { return _User; }
            set {
                _User = value;
                this.NotifyPropertyChanged(o => o.User);
            }
        }


XMAL

 <TextBox Width="300" Text="{Binding User,UpdateSourceTrigger=PropertyChanged, NotifyOnValidationError=True, ValidatesOnDataErrors=True}" Margin="0,0,0,10">
                                <Validation.ErrorTemplate>
                                    <ControlTemplate>
                                        <StackPanel>
                                            <AdornedElementPlaceholder x:Name="textBox" />
                                            <TextBlock Text="{Binding [0].ErrorContent}" Foreground="Red" />
                                        </StackPanel>
                                    </ControlTemplate>
                                </Validation.ErrorTemplate>
                            </TextBox>

 

 

文章標籤
全站熱搜
創作者介紹
創作者 軒軒的爸媽 的頭像
軒軒的爸媽

軒軒的爸媽

軒軒的爸媽 發表在 痞客邦 留言(0) 人氣(28)