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();
                }
            }
        }
    }
  • 相关阅读:
    最小公倍数
    记录输入的数字并输出
    带时间的进度条
    进度条二:普通版
    文件的练习
    《k8s权威指南》读书笔记
    面试后如何判断岗位是否符合自己要求
    索引的三星系统
    使用Mysql分区表对数据库进行优化
    MySQL索引的基本操作
  • 原文地址:https://www.cnblogs.com/dxmfans/p/9434626.html
Copyright © 2011-2022 走看看