Sometimes, you'll find that bindings that run correctly at the beginning of the program fail. As far as personal experience is concerned, the failure of bindings is mainly divided into two cases: for one-way bindings, if the software developer bypasses the binding and changes the target attribute directly, the binding will be invalidated. For two-way bindings, if the software developer does not change the target property directly through the binding, and the target property fails to update the source property for reasons such as throwing an exception, the binding is invalidated.
The recommended solution, for two-way bindings, is to customize a class that implements the IValueConverter, apply to the converter property of the binding, and do exception handling in the convert and Convertback methods.
Reasons and solutions for WPF binding failure