Is there a way to change the default behavior of bindings so i don't need to set 'UpdateSourceTrigger=PropertyChanged' on each, in my case, textbox?
Might this be done via a ControlTemplate or Style?
Is there a way to change the default behavior of bindings so i don't need to set 'UpdateSourceTrigger=PropertyChanged' on each, in my case, textbox?
Might this be done via a ControlTemplate or Style?
Like Pieter proposed i solved it with a inherited class like this:
and this helpmethod:
Any suggestion how to solve it better?
No. This behavior is handled by the
DefaultUpdateSourceTrigger
of theFrameworkPropertyMetadata
class, which is passed when registering aDependencyProperty
. It is possible to override this in an inherited class ofTextBox
and per binding, but not for everyTextBox
in the application.Maybe it's more suitable to override the defaults for your Bindings, you could use this one for that purpose:
http://www.hardcodet.net/2008/04/wpf-custom-binding-class
Then you define some CustomBinding class (setting appropriate defaults in the constructor) and a MarkupExtension 'CustomBindingExtension'. Then replace the bindings in your XAML by something like this:
I have successfully tried something similar with a binding that sets certain defaults for ValidatesOnDataError and NotifyOnValidationError, should work in your case as well. The question is if you are comfortable with replacing all your bindings, but you could automate this task.