, FocusManager.FocusedElement FocusScope. Button FocusScope, . Focus(), , .
, "MyFocusManager.ForceFocus", false true FocusManager.FocusedElement. PropertyChangedCallback, :
public class MyFocusManager
{
public static bool GetForceFocus ....
public static void SetForceFocus ....
public static DependencyProperty ForceFocusProperty = DependencyProperty.RegisterAttached("ForceFocus", typeof(bool), typeof(MyFocusManager), new UIPropertyMetadata
{
PropertyChangedCallback = (obj, e) =>
{
if((bool)e.NewValue && !(bool)e.OldValue & obj is IInputElement)
((IInputElement)obj).Focus();
}
});
}