KeyboardNavigation以外でFocusVisualStyleを表示させる

公開日: : Blog, Microsoft , ,

WPFです。

結論としてはリフレクションで無理やりやれなくはなさそうという感じ。
元ネタはMSDN Forumから

FrameworkElement.FocusVisualStyle プロパティ

  • キーボード フォーカスを受け取ったときに適用される外観、効果、またはその他のスタイル特性のカスタマイズを可能にするプロパティ

http://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Input/KeyboardNavigation.cs,0b7e549aa5f5926f

ShowFocusVisualメソッド

結構ガチガチに判定されているけどキーボードからの操作だよというところだけなんとかしてやればいけそうだった。
リフレクションでInputDeviceをSetして、リフレクションでShowFocusVisualをInvokeする。

private void btn_Click(object sender, RoutedEventArgs e)
{
    txt1.Focus();</p>

<p>}

ShowFocusVisualを見てみると、実体は
Adornerレイヤーにフォーカス状態を示すAdornerを表示させている感じだった。
サイズ計算をする必要はあるが、IsFocusedなどでTriggerを組んで、自前で描画したほうが安全かもしれない。

関連記事

no image

Xamarin.Forms で ScrollView の中に Map を配置したとき、Androidで地図のスクロールが出来なくなる

iOSは問題ないけど、AndroidはScrollViewにタッチを持ってかれてる感じ。 カスタ

記事を読む

no image

【ストアアプリ】バックグラウンドタスクを作成する

こんにちは。 Windows.ApplicationModel.Background名前空間を使用

記事を読む

【iPhoneアプリ】多言語対応させる1

iPhoneアプリを多言語対応(iPhone端末の言語設定によってアプリケーションの言語も切り替える

記事を読む

シマンテックインストール時に「指定されたパスが空です。」

Windows10 64bit, Symantec Endpoint Protection はおそら

記事を読む

【ストアアプリ】タイル通知(TileUpdateManager)について

こんにちは。 ストアアプリでタイル通知を行う方法を調べました。 前回のトースト通知と

記事を読む

no image

Windows10 IoT CoreでWindowsアップデートの自動実行を停止する

Manage IoT Core device updates このリンクにアップデートコントロール

記事を読む

WordPressでスパムコメント対策

WordPressのスパムコメント対策を行ったのでメモ。 標準でAkismetがインストール済み(

記事を読む

no image

Microsoft Bot Frameworkでテキストメッセージではなく、添付ファイルを使用する

activity.Attachmentsに添付ファイル入っている。 ContentTypeで画像か判

記事を読む

no image

UWPのScrollViewerでスクロール位置の同期を行うメモ

複数のScrollViewerのスクロール位置を同期したい場合、WPFではScrollChanged

記事を読む

【.NET】【WPF/XAML】ローカルPDFを画面に表示する

[crayon-5ba3401d3c562230066089/] [vb] Public

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑