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を組んで、自前で描画したほうが安全かもしれない。

関連記事

【XAML】フォントサイズを自動縮小して全体を表示

Viewboxを親にするだけ。 拡大・縮小方法はStretch, StretchDirec

記事を読む

no image

Visual Studio 2017 Version15.2 にアップデート後、Xamarin.iOS でビルドエラーが発生時の回避メモ

環境 Visual Studio Enterprise 2017 Version 15.2

記事を読む

no image

Azure へ WordPress 環境を作成

よくあるやつだけど。 社内LT用

記事を読む

【ストアアプリ】画像の光学式ズーム

こんにちは。 スマートデバイスといえばタッチ操作、ということで 今日はWindowsストアアプリ

記事を読む

ストアアプリ、UWPアプリをデスクトップアプリケーションから起動する

SendKeyなどを使って無理やり検索ウインドウへ指定した、起動方法しか知らなかったのでメモ(とんで

記事を読む

no image

属性を使って、列挙型の列挙子を並び替え、フィルタリングする

メモだよ

記事を読む

no image

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

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

記事を読む

PHP executable not found. Install PHP 7 and add it to your PATH or set the php.executablePath setting

Visual Studio Code へ PHP IntelliSense 拡張をインストールし

記事を読む

no image

Microsoft.OData.Clientでフォーム認証を行う

構成 サーバー ** Azure API Apps ** ASP.NET Web API クライ

記事を読む

Hardware assisted virtualization and data execution protection must be enabled in the BIOS

MacBook Pro + Bootcamp + Windows10 で Docker for Wi

記事を読む

Message

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

PAGE TOP ↑