zoukankan      html  css  js  c++  java
  • WPF ValidationRule的特点(默认目标-源才校验)

    默认是当目标发生改变时候,通过绑定改变源时候进行校验,因为WPF认为源是安全的,如果想让源改变时候,也进行校验则设置验证规则的ValidatesOnTargetUpdated =true


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Shapes;


    namespace XamlTest
    {
        /// <summary>
        /// Interaction logic for Window16.xaml
        /// </summary>
        public partial class Window16 : Window
        {
            public Window16()
            {
                InitializeComponent();
                Binding b = new Binding();
                b.Source= slider;
                b.Path = new PropertyPath("Value");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                RangeValidationRule vr = new RangeValidationRule();
                //vr.ValidatesOnTargetUpdated =true;
                b.NotifyOnValidationError = true;
                b.ValidationRules.Add(vr);
                txt.SetBinding(TextBox.TextProperty, b);
                txt.AddHandler(Validation.ErrorEvent,new RoutedEventHandler(this.ValidationError));
            }


            private void ValidationError(object sender, RoutedEventArgs e)
            {
                if (Validation.GetErrors(txt).Count>0)
                {
                    txt.ToolTip = Validation.GetErrors(txt)[0].ErrorContent.ToString();
                }
            }
        }
    }
  • 相关阅读:
    C# 委托/Func() 中 GetInvocationList() 方法的使用 | 接收委托多个返回值
    蒋廷黻著《中国近代史》-中国近代屈辱史读后感
    ASP.NET Core 上传多文件 超简单教程
    Python
    Python
    Python
    Python
    Python
    Python
    Python
  • 原文地址:https://www.cnblogs.com/dxmfans/p/9434626.html
Copyright © 2011-2022 走看看