問題タブ [focusvisualstyle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
18168 参照

wpf - UserControl のフォーカス四角形を削除します

Focusable="True" の WPF UserControl があります。これは、ウィンドウ内の唯一のフォーカス可能なコントロールです。

ユーザーが Tab または Alt キーを押すたびに (特に Alt+Tab キーを押して別のアプリケーションに移動した場合)、私の UserControl は点線の境界線 (別名フォーカス四角形) を取得します。フォーカス四角形は、ウィンドウが閉じられるまでそこにとどまります。

UserControl がこのフォーカス四角形を表示しないようにするにはどうすればよいですか?

編集

フォーカス四角形が実際には UserControl によって表示されていなかったことがわかりました。私のフォーカス可能な UserControl には、ItemsControl を含む別の UserControl が含まれており、ItemsControl はフォーカス四角形を表示していたものです。

FocusVisualStyle="{x:Null}" を ItemsControl に追加すると、フォーカス四角形がなくなりました。

0 投票する
2 に答える
1515 参照

wpf - 親がフォーカスされているときにItemsControlがフォーカス長方形を表示するのはなぜですか?

WPFのItemsControlは、フォーカスがあると判断し、ユーザーがTabキーまたはAltキーを押すと、フォーカス長方形を表示します。

しかし、最近、ItemsControlにフォーカスがないにもかかわらず、フォーカス長方形を表示させました。その親の1つはフォーカスを持っていました。ItemsControlはUserControl内にあり、UserControlはフォーカスを持っていた別のUserControl内にありました。このようなもの:

または、ネストを視覚的に表示するには:

フォーカスの長方形を表示するためのフォーカスのないコントロールを予期していなかったため、フォーカスの長方形がどこから来ているのかを理解するのにしばらく時間がかかりました(そしてStackOverflowの質問)。

私はまだWPFの使い方を学んでいますが、明らかにまだ十分に理解していません。そうでなければ、混乱することはありません。私が理解するのに役立つ2つの質問:

  1. ItemsControlが実際にはフォーカスを持っていないのに、親コントロールの1つがフォーカスを持っているのに、なぜフォーカス長方形を表示するのですかこの機能の理由は何ですか?(テンプレートやビジュアルツリーに関係するものがあると確信していますか?-WPFのメカニズムと哲学についてまだ十分に理解していません。)
  2. これはどのように機能しますか?ItemsControlがフォーカス長方形を表示するかどうかを決定するために使用するメカニズムは何ですか?
0 投票する
1 に答える
1755 参照

wpf - アプリケーション全体で FocusVisualStyle を変更する

WPF アプリケーションを作成しているときに、デフォルトの FocusVisualStyle (黒い「行進アリ」の境界線) を、たとえば青い境界線などの別のものに変更したいと考えています。アプリケーション全体のすべてのコントロールにこの変更を加えたいと思います。すべてのタイプのコントロールの既定のスタイルを変更するより簡単な方法はありますか?

ありがとう

0 投票する
1 に答える
964 参照

wpf - テキストボックスで初めてフォーカス画像が機能しない

テキスト ボックスにフォーカスが当たったときに、テキスト ボックスの周りにフォーカス イメージを表示したいと考えています。だから私は次のスタイルを作成します

ウィンドウのxamlファイルでは、このスタイルを次のように使用しました

しかし、問題は、ロード中に機能しないことです。ウィンドウが読み込まれると、最初はそのテキストボックスにフォーカスがあり、その時点では画像が表示されません。ただし、他のテキストボックス(および他のコントロール)に移動すると、フォーカス画像が表示されます。最後に、フォーカスがそのテキストボックスに戻ると、フォーカス画像が表示されます

問題は、ウィンドウがロードされたときに初めてフォーカス画像が表示されないことです。私が間違っているところを提案してください。

0 投票する
2 に答える
4924 参照

wpf - xamlで要素のフォーカス境界を取り除く方法

WPF で、次のようなカスタム ボタン テンプレートを作成しました。

このコードの結果は単純なOffボタンです。
ボタン、フォーカスされていません

ここで、このボタンがマウスのフォーカスを取得し、画面がフォーカスを失うと、ボタンの周りに破線の境界線が次のように表示されます。
破線枠付きのボタン

私の質問は非常に単純です: どうすればこの境界線を取り除くことができますか? プロパティをいじってみましFocusVisualStyleたが、うまくいきませんでした。

0 投票する
1 に答える
354 参照

wpf - FocusVisualStyleKey を (グローバルに) 無効にする方法

FocusVisualStyleKey を (グローバルに) 無効にしたい。

次のコードの要素を配置していない可能性を探しています:

だから私はこの記事を読んで、この解決策を見つけました:

App.xaml

MainWindow.xaml

しかし、うまくいきません...誰か別のアイデアがありますか?

0 投票する
3 に答える
1490 参照

wpf - WPF - 移動時の FocusVisualStyle

いくつかのボタンを持つ UserControl があります。私のボタンにはデフォルトの FocusVisualStyle (ボタンの周りの境界線) があります。

マウスでユーザー コントロールを移動すると、この点線の境界線が移動しません。画面の別の部分にカーソルを合わせると、正しい位置に移動します。

どの要素がフォーカスされているかを確認する必要があるため、FocusVisualStyle を null に設定したくありません。独自の FocusVisualStyle を作成しようとしましたが、デフォルトのように動作します。

どうにかしてこの境界線を残りの要素と同期させることはできますか?

手伝ってくれてありがとう

0 投票する
1 に答える
254 参照

c# - カスタム DependencyProperty を使用した FocusVisualStyle バインディング

CornerRadius DependencyProperty を実装する派生ボタンの FocusVisualStyle を変更しようとしています。ボタン スタイルではすべてが機能しますが、CornerRadius 値を FocusVisualStyle に送信する方法がわかりません。

ここで、FocusVisualStyle の現在のコード:

私はこの形式のバインディングも試しました:

どんな助けでもいいでしょう:)

編集:要求に応じて、ここにすべてのコードがあります:

MyButton.cs:

Themes\Generic.xaml:

編集:私は良い解決策を見つけたことがないことを考慮して、これが私がそれを解決した方法です: