wpf - ErrorTemplate for PasswordBox with AttachedProperty -
i know passwordbox in wpf not use validation.errortemplate, anyhow have show user, wrong.
my passwordbox has binding
<passwordbox name="password" local:passwordhelper.text="{binding passwordprop, mode=twoway}" />
is possible same style default errortemplate (red border) passwordbox, if wrong?
this errortemplate use other controls
<style x:key="basecontrolstyle"> <setter property="control.fontfamily" value="verdana" /> <setter property="control.fontsize" value="12" /> <setter property="tooltipservice.showondisabled" value="true" /> <setter property="validation.errortemplate" > <setter.value> <controltemplate> <dockpanel lastchildfill="true"> <image x:name="bild" dockpanel.dock="right" source="../resources/nein.ico" margin="-5 0 0 0" maxheight="16" maxwidth="16" verticalalignment="center" tooltip="{binding elementname=mycontrol, path=adornedelement.(validation.errors)[0].errorcontent}"> </image> <border borderbrush="red" borderthickness="1" cornerradius="2"> <adornedelementplaceholder x:name="mycontrol" /> </border> </dockpanel> </controltemplate> </setter.value> </setter> <style.triggers> <trigger property="validation.haserror" value="true"> <setter property="control.tooltip" value="{binding relativesource={relativesource self}, path=(validation.errors)[0].errorcontent}"/> </trigger> </style.triggers> </style>
thanks
one solution put actual textbox
underneath passwordbox
, bind text
property passwordprop
, give textbox
errortemplate:
<grid> <textbox template="{x:null}" style="{staticresource basecontrolstyle}" text="{binding passwordprop, mode=twoway}" /> <passwordbox name="password" local:passwordhelper.text="{binding passwordprop, mode=twoway}" /> </grid>
since controls of errortemplate put on adorner layer, error template displayed on top of passwordbox event though textbox underneath passwordbox.
also note have set textbox
controltemplate null
. since not supposed visible doesn't need rendered.
Comments
Post a Comment