当前位置:编程学习 > asp >>

WPF( 数据验证)

[html] 
<Window x:Class="TestOfValidationRules.MainWindow" 
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        Title="MainWindow" Height="350" Width="525"> 
    <StackPanel > 
        <TextBox x:Name="textBox1" Margin="5" /> 
        <Slider x:Name="slider1" Minimum="-10" Maximum="110" Margin="5" /> 
         
    </StackPanel> 
</Window> 

<Window x:Class="TestOfValidationRules.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <StackPanel >
        <TextBox x:Name="textBox1" Margin="5" />
        <Slider x:Name="slider1" Minimum="-10" Maximum="110" Margin="5" />
       
    </StackPanel>
</Window>
[csharp] 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
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.Navigation; 
using System.Windows.Shapes; 
 
namespace TestOfValidationRules 

    /// <summary>  
    /// Interaction logic for MainWindow.xaml  
    /// </summary>  
    public partial class MainWindow : Window 
    { 
        public MainWindow() 
        { 
            InitializeComponent(); 
 
            Binding binding = new Binding("Value") 
            { 
                 Source = this.slider1 
            }; 
 
            binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; 
             
            RangeValidateRule rvr = new RangeValidateRule(); 
            rvr.ValidatesOnTargetUpdated = true; 
            binding.ValidationRules.Add(rvr); 
 
            binding.NotifyOnValidationError = true; 
            this.textBox1.SetBinding(TextBox.TextProperty, binding); 
            this.textBox1.AddHandler(Validation.ErrorEvent,new RoutedEventHandler(this.ValidationError)); 
        } 
 
        void ValidationError(object sender, RoutedEventArgs e) 
        { 
            if (Validation.GetErrors(this.textBox1).Count > 0) 
            { 
                this.textBox1.ToolTip = Validation.GetErrors(this.textBox1)[0].ErrorContent.ToString(); 
            } 
        } 
 
         
    } 
 
    public class RangeValidateRule:ValidationRule 
    { 
        public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo) 
        { 
            double d = 0; 
            if (double.TryParse(value.ToString(),out d)) 
            { 
                if(d >= 0 && d <= 100) 
                { 
                    return new ValidationResult(true,null); 
                } 
            } 
 
            return new ValidationResult(false,"Validation Failed !!!"); 
        } 
    } 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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.Navigation;
using System.Windows.Shapes;

namespace TestOfValidationRules
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            Binding binding = new Binding("Value")
            {
   &

补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,