Requirement is to focus the control on ValidationRule fail.
Solution with explanation: Handling of focus is done by framework and it explicitly change the focus based on error event. Now, if requirement is to retain/bring the focus then one has to call a method Focus() with input priority to re-focus the element or the control.
Code
Code to achieve this is:
private void FocusControlOnError(object sender, ValidationErrorEventArgs e)
{
if (e.OriginalSource is IInputElement)
{
this.Dispatcher.BeginInvoke(DispatcherPriority.Input, (ThreadStart)delegate()
{
(e.OriginalSource as IInputElement).Focus();
});
}
}