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();
                }
            }
        }
    }
  • 相关阅读:
    P6007 [USACO20JAN]Springboards G
    CF1000F One Occurrence
    P6100 [USACO19FEB]Painting the Barn G
    P5838 [USACO19DEC]Milk Visits G
    P4085 [USACO17DEC]Haybale Feast
    P4267 [USACO18FEB]Taming the Herd
    P1712 [NOI2016]区间
    CF786B Legacy
    P5665 划分
    NOI2020网上同步赛 游记
  • 原文地址:https://www.cnblogs.com/dxmfans/p/9434626.html
Copyright © 2011-2022 走看看