Project Description
Ce projet propose des contrôles container basé sur le contrôle Grid et StackPanel (pour le moment ) qui permettent de valider les contrôles enfants.

De la même manière que le contrôle ErrorProvider des Winform vous permet de modifier l'apparence des contrôles dont le contenu est jugé non valide, les contrôles (Grid/StackPanel)ErrorProvider vous permettent de définir quelle propriété doit être modifié et quelle valeur il faut lui appliquer. Cela peut-être aussi bien une propriété "simple" ( comme Background ) qu'une propriété complexe ( comme Style ). De plus vous pouvez appliquer les paramètres de validation au niveau du container afin que tout les enfants les utilisent mais vous pouvez également redéfinir par nœud enfant ces paramètres afin de les personnaliser.

Exemple d'utilisation :
<Window x:Class="DemoApp.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">

    <StackPanelErrorProvider x:Name="errorProvider" ErrorMessage="Invalid data" ErrorPropertyModified="Background" ErrorValue="Red" >
        <TextBlock Text="Password"  />
        <PasswordBox x:Name="passwordBox" />

    </StackPanelErrorProvider>
</Window>


et coté code C#

Dans le constructeur après le InitializeComponent();
  this.errorProvider.ValidateMethod = new ErrorProviders.ValidateDataCallback(ValidateMethodCollection.GenericValidateMethod);


et la méthode de validation de données :
  public static bool GenericValidateMethod(UIElement element)
        {
            if (element is TextBox)
            {
                return !string.IsNullOrEmpty(((TextBox)element).Text);
            }
            else if (element is ComboBox)
            {
                return ((ComboBox)element).SelectedItem != null;
            }


            //Return true as default
            return true;
        }

Last edited Jun 11, 2008 at 2:34 PM by phenixdotnet, version 3