c# - WPF: validation confirmed password -


i have 2 passwordboxes. need check passwords equal. don't want write condition [].xaml.cs code, want mark passwordbox in red when passwords aren't equal.

should write special validationrule, code in viewmodel or else? can me? validation written in [].xaml.cs want avoid it.

using:

<passwordbox name="tbpassword" /> <passwordbox name="tbpasswordconf" /> <passwordvalidator        box1="{binding elementname=tbpassword}"        box2="{binding elementname=tbpasswordconf}" /> 

code (this code not cover cases):

public class passwordvalidator : frameworkelement  {   static idictionary<passwordbox, brush> _passwordboxes = new dictionary<passwordbox, brush>();    public static readonly dependencyproperty box1property = dependencyproperty.register("box1", typeof(passwordbox), typeof(passwordvalidator), new propertymetadata(box1changed));   public static readonly dependencyproperty box2property = dependencyproperty.register("box2", typeof(passwordbox), typeof(passwordvalidator), new propertymetadata(box2changed));    public passwordbox box1   {    { return (passwordbox)getvalue(box1property); }    set { setvalue(box1property, value); }   }   public passwordbox box2   {    { return (passwordbox)getvalue(box2property); }    set { setvalue(box2property, value); }   }    private static void box1changed(dependencyobject d, dependencypropertychangedeventargs e)   {   }   private static void box2changed(dependencyobject d, dependencypropertychangedeventargs e)   {    var pv = (passwordvalidator)d;    _passwordboxes[pv.box2] = pv.box2.borderbrush;    pv.box2.lostfocus += (obj, evt) =>    {     if (pv.box1.password != pv.box2.password)     {      pv.box2.borderbrush = new solidcolorbrush(colors.red);     }     else     {      pv.box2.borderbrush = _passwordboxes[pv.box2];     }    };   }  } 

also, it's possible define dependency property style of error , setting instead of borderbrush. don't know how use in case standard errortemplate.


Comments

Popular posts from this blog

c# - how to write client side events functions for the combobox items -

exception - Python, pyPdf OCR error: pyPdf.utils.PdfReadError: EOF marker not found -