TextBox with default ErrorTemplate : ValidationRule « Windows Presentation Foundation « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Date Time
8.Development
9.Event
10.File Directory
11.Generics
12.GUI
13.Internationalization I18N
14.Language Basics
15.LINQ
16.Network Remote
17.Reflection
18.Security
19.Thread
20.Windows Presentation Foundation
21.Windows System
22.XML
23.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » Windows Presentation Foundation » ValidationRuleScreenshots 
TextBox with default ErrorTemplate
TextBox with default ErrorTemplate
   

<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:c="clr-namespace:WpfApplication1"
  x:Class="WpfApplication1.Window1"
  Title="Binding Validation Sample"
  SizeToContent="WidthAndHeight"
  ResizeMode="NoResize">
    <Window.Resources>
        <c:MyDataSource x:Key="ods"/>

    </Window.Resources>
    <StackPanel>
        <TextBox Name="textBox2" Width="50" FontSize="15">
            <TextBox.Text>
                <Binding Path="Age2" Source="{StaticResource ods}" UpdateSourceTrigger="PropertyChanged" >
                    <Binding.ValidationRules>
                        <c:AgeRangeRule Min="21" Max="30"/>
                    </Binding.ValidationRules>
                </Binding>
            </TextBox.Text>
        </TextBox>

    </StackPanel>
</Window>

//File:Window.xaml.vb
Imports System
Imports System.ComponentModel
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Documents
Imports System.Windows.Navigation
Imports System.Windows.Shapes
Imports System.Windows.Data
Imports System.Globalization
Imports System.Collections.ObjectModel

Namespace WpfApplication1
  Public Partial Class Window1
    Inherits Window
    Public Sub New()
      InitializeComponent()
    End Sub
  End Class
  Public Class AgeRangeRule
    Inherits ValidationRule
    Private _min As Integer
    Private _max As Integer

    Public Sub New()
    End Sub

    Public Property Min() As Integer
      Get
        Return _min
      End Get
      Set
        _min = value
      End Set
    End Property

    Public Property Max() As Integer
      Get
        Return _max
      End Get
      Set
        _max = value
      End Set
    End Property

    Public Overrides Function Validate(value As Object, cultureInfo As CultureInfoAs ValidationResult
      Dim age As Integer = 0

      Try
        If DirectCast(value, String).Length > Then
          age = Int32.Parse(DirectCast(value, [String]))
        End If
      Catch As Exception
        Return New ValidationResult(False, "Illegal characters or " & e.Message)
      End Try

      If (age < MinOrElse (age > MaxThen
        Return New ValidationResult(False, "Please enter an age in the range: " & Min & " - " & Max & ".")
      Else
        Return New ValidationResult(True, Nothing)
      End If
    End Function
  End Class

  Public Class MyDataSource
    Private _age As Integer
    Private _age2 As Integer
    Private _age3 As Integer

    Public Sub New()
      Age = 0
      Age2 = 0
    End Sub

    Public Property Age() As Integer
      Get
        Return _age
      End Get
      Set
        _age = value
      End Set
    End Property
    Public Property Age2() As Integer
      Get
        Return _age2
      End Get
      Set
        _age2 = value
      End Set
    End Property

    Public Property Age3() As Integer
      Get
        Return _age3
      End Get
      Set
        _age3 = value
      End Set
    End Property
  End Class
End Namespace

   
    
    
  
Related examples in the same category
1.Specify Validation Rules for a Binding
w__w___w__.j___av___a__2__s___.___c_o__m__ | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.