はじめに
WPFのコントロール(TextBoxなど)にフォーカスが当たっている状態から、フォーカスを外す方法に、一瞬悩んだのでメモ&情報共有のため寄稿します。
やりかた
System.Windows.Input.Keyboard.ClearFocus();
MSDN該当箇所
https://msdn.microsoft.com/ja-jp/library/system.windows.input.keyboard.clearfocus(v=vs.110).aspx
以上!
経緯
WPFアプリ作成中にバックグラウンドで特定処理を実施し、完了後、画面を更新するという振る舞いを作っていた際に、TextBoxとかにフォーカスが当たった状態だと結果が更新されなくなる事象が発生しました。
根本的な原因は別にあると思うのですが、恒久対策を行うまでの間、ひとまずはフォーカスを外してから処理するよう暫定対策をおうとしたのですが。。。
TextBoxのFocusメソッドが、IInputElement側に定義されていたので、そっちばかり探していて見当たらずちょっとはまりました。
情けないっす。
根本解決がまだできていないのはさらに恥ずかしい(。A 。 )