elmish / Elmish.WPF

Static WPF views for elmish programs
Other
429 stars 71 forks source link

How to force Binding.addValidation upon returning to wpf usercontrol? #593

Open awaynemd opened 8 months ago

awaynemd commented 8 months ago

My wpf window is setup to switch between multiple usercontrols. Upon first showing of the first usercontrol, the bindings are correctly read and the addValidation code called resulting in red boxes around invalid textblocks.

I then switch to the second user control such that the first user control is no longer visible. All works well.

However, when I return to the first usercontrol with the invalid textblock, the red box surrounding the invalid data is no longer visible.

How can I force validation without a change in data on the first usercontrol (to again show the invalid red box) ?

Note: Microsoft recommends ValidatesOnTargetUpdated="True" , is this implemented in Elmish.wpf?

Thanks for any help or suggestions.

awaynemd commented 8 months ago

It would be great if I could tie a command to the GotFocus() event that would go through all the validation code on the bindings for a usercontrol. Does such a thing exist?

Thans again

awaynemd commented 8 months ago

An easy solution to the above problem seems to be to put around the main grid/panel within each usercontrol. Doing so allows the validation code to be run once and the red error border to be maintained between usercontrol switches.

I'd still be interested to know about ValidatesOnTargetUpdated though.

Thanks.

TysonMN commented 8 months ago

Note: Microsoft recommends ValidatesOnTargetUpdated="True" , is this implemented in Elmish.wpf?

Can you share a link to Microsoft's recommendation?

My guess is that this is a property that you can set in your XAML code.