I cannot reproduce your problem here. The validaton works fine in the scenario you describe. I double checked that the ReadOnly textbox did get focus.
Have you explicitly made your ReadOnly textbox unfocusable?
By the way, the validation won't happen if the text didnt change at all when the textbox lost focus. This is because its a binding validation so it is the binding who triggers the validation. As a result, the default value of the textbox
will never trigger the validation. If this is your case, you can call BindingExpression.UpdateSource() to explicitly force a validation to happen in the LostFocus event handler of the textbox.
If neither of the above assumptions meet your situation, pleave kindly elaborate your problem so we can help you. A snippet of code that can reproduce the problem will be very helpful.
If you still have any doubts or concerns about this issue, please feel free to let me know.