Xceed DataGrid for WPF v7.2 Documentation
DataGridBindingInfo Class
Members  Example 


Xceed.Wpf.DataGrid Assembly > Xceed.Wpf.DataGrid Namespace : DataGridBindingInfo Class
Class that creates and wraps a binding that is used by a column to retrieve and validate its values.
Syntax
'Declaration
 
Public Class DataGridBindingInfo 
'Usage
 
Dim instance As DataGridBindingInfo
public class DataGridBindingInfo 
Remarks

The following table provides a list of the underlying binding's properties and their immutable values.

Property Value
Mode Property BindingMode.TwoWay (see ReadOnly property)
UpdateSourceTrigger Property UpdateSourceTriggerExplicit (see UpdateSourceTrigger property)
ValidatesOnDataErrors Property true
ValidatesOnExceptions Property true
NotifyOnTargetUpdated Property true
NotifyOnValidationError Property true
Example

All examples in this topic assume that the grid is bound to a list of Composer objects, unless stated otherwise.

The following example demonstrates how to create a custom ValidationRule and apply it to a column's binding to provide binding-level validation.Implementation of the YearValidationRule validation rule.Implementation of the YearValidationRule validation rule.
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"

     xmlns:local="clr-namespace:Xceed.Wpf.Documentation">

  <Grid.Resources>

     <xcdg:DataGridCollectionViewSource x:Key="cvs_composers"

                                        Source="{Binding Source={x:Static Application.Current}, 

                                                         Path=Composers}"/>

  </Grid.Resources>

 

  <xcdg:DataGridControl ItemsSource="{Binding Source={StaticResource cvs_composers}}"

                        UpdateSourceTrigger="RowEndingEdit">

     <xcdg:DataGridControl.Columns> 

       <xcdg:Column FieldName="BirthYear">

          <xcdg:Column.DisplayMemberBindingInfo>

             <xcdg:DataGridBindingInfo Path="BirthYear">

                <xcdg:DataGridBindingInfo.ValidationRules>

                   <local:YearValidationRule />

                </xcdg:DataGridBindingInfo.ValidationRules>

             </xcdg:DataGridBindingInfo>

          </xcdg:Column.DisplayMemberBindingInfo>

       </xcdg:Column>



       <xcdg:Column FieldName="DeathYear">

          <xcdg:Column.DisplayMemberBindingInfo>

             <xcdg:DataGridBindingInfo Path="DeathYear">

                <xcdg:DataGridBindingInfo.ValidationRules>

                   <local:YearValidationRule />

                </xcdg:DataGridBindingInfo.ValidationRules>

             </xcdg:DataGridBindingInfo>

          </xcdg:Column.DisplayMemberBindingInfo>

       </xcdg:Column>      

    </xcdg:DataGridControl.Columns>

  </xcdg:DataGridControl>

</Grid>
Imports System

Imports System.Windows.Controls

Imports System.Globalization

Namespace Xceed.Wpf.Documentation



  Public Class YearValidationRule

               Inherits ValidationRule



    Public Overrides Function Validate( ByVal value As Object, _

                                        ByVal cultureInfo As CultureInfo ) As ValidationResult

      Dim year As Integer = CInt( value )

      If year > DateTime.Now.Year Then

        Return New ValidationResult( False, "Chosen year cannot be greater than this year." )

      End If

      Return ValidationResult.ValidResult

    End Function

  End Class

End Namespace
using System;

using System.Windows.Controls;

using System.Globalization;

namespace Xceed.Wpf.Documentation

{



 public class YearValidationRule : ValidationRule

 {

   public override ValidationResult Validate( object value, CultureInfo cultureInfo )

   {

     int year = ( int )value;

     if( year > DateTime.Now.Year )

       return new ValidationResult( false, "Chosen year cannot be greater than this year." );

     return ValidationResult.ValidResult;

   }

 }

}
Inheritance Hierarchy

System.Object
   Xceed.Wpf.DataGrid.DataGridBindingInfo

Requirements

See Also

Reference

DataGridBindingInfo Members
Xceed.Wpf.DataGrid Namespace