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

関連記事

AdMob,Nendメディエーション時の優先順位

先日リリースしたアプリでは勉強を兼ねて、 AdMob+Nendでのメディエーション広告を実装し

記事を読む

no image

【.NET】イベントのサブスクライブとサブスクライブ解除

.NETでイベントをハンドルする方法 サブスクライブ void CustomEven

記事を読む

【iPhoneアプリ】リリース手順〜審査完了後〜

前回からの続き。 中身が無いアプリだったのでリジェクトされると思いきや 審査に通ってしま

記事を読む

no image

【UWP】CS1061 : ‘XXX’に’InitializeComponent’の定義が含まれておらず

いろいろなことに起因しており、引き起こされた問題であって、 根本的な原因ではない可能性はあるが、凡ミ

記事を読む

拡張メソッドは、非ジェネリック静的クラスで定義される必要があります

単純にメッセージどおり。 public static class BaseExtensi

記事を読む

no image

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

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

記事を読む

【Cocos2d-x】iPhone実機でプロジェクトを動かすまで

Macを購入してCocos2d-xデビューしたが、 iPhone実機で動かすまでをメモ

記事を読む

no image

シングルボードコンピュータの動作温度について

Raspberry Pi 3 で屋外用のIoT機器を作成できないかと調べていたが、どうやらRaspb

記事を読む

no image

【XAML/VB.NET】XAMLファイルを帳票フォーマットとして使用する

掲題について。結論としてはFixedPageをルートとするXAMLファイルを XamlReader

記事を読む

no image

Desktop App Converter で作成したUWPアプリケーションをストアで公開したい

Twitterで掲題について調べている人がいらっしゃって、一緒に調べてみたのだが 案内されているペー

記事を読む

Message

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

PAGE TOP ↑