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

関連記事

Visual Studio から Android SDK Managerが起動できない

Android SDKやエミュレーターイメージのアップデートを行いたい場合にAndroid SDK

記事を読む

no image

【.NET】正規表現の復習

正規表現エンジン System.Text.RegularExpressions.Regexオブジェ

記事を読む

IntelliTestはどこまでカバーしてくれるのか

私はレガシーな開発環境・案件が多かったのですが、 この頃、ユニットテストを利用する機会が増えてきま

記事を読む

no image

Xamarin.UITest, Xamarin Test Cloud にて iPhone 6 Plus, 6S Plus, 7 Plus などで app.Tap が効かない

動作しないというか、app.Tapがどうしても反応しない。 app.ScreenShotなどは動作す

記事を読む

no image

BOT向け自然言語処理サービスまとめ

自然言語処理 自然言語処理(しぜんげんごしょり、英語: natural language p

記事を読む

no image

【Xcode】Capabilities全項目【v6.1時点】

Capabilitiesの各項目が何を示しているのか よくわからなかった、かつ日本語のサイトが少な

記事を読む

no image

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

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

記事を読む

Xamarin.Forms で NavigationPage を PushModalAsync すると例外が発生するときがある

Forms 2.3.4.231 Mapコントロールがあるページで、NavigationPage

記事を読む

【WPF/XAML】チェックボックスのデザイン変更

[xml] <Window x:Class="Sample"

記事を読む

Xamarin Studio から Visual Studio for Mac へ変更してから、”The “XamlCTask” task failed unexpectedly.” が発生。

Visual Studio for Mac がGAしたので、インストールしてみた。 それまで開発して

記事を読む

Message

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

PAGE TOP ↑