C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WPFでMO時のボタンハイライトを無効にしたい

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■96765 / inTopicNo.1)  WPFでMO時のボタンハイライトを無効にしたい
  
□投稿者/ washiki (1回)-(2021/01/26(Tue) 16:11:46)

分類:[.NET 全般] 

C# WPF です。

ボタンコントロールにマウスオーバーした時に強調される薄青を無効にしたいです。
IsMouseOverをトリガにBackGroundをTransparentに変えたりしましたが効果ありませんでした。

Windowsの視覚効果によるものかとも思ったのですが、環境問わず無効にしたいので
アプリで解決する方法はありますでしょうか。
引用返信 編集キー/
■96766 / inTopicNo.2)  Re[1]: WPFでMO時のボタンハイライトを無効にしたい
□投稿者/ Hongliang (1146回)-(2021/01/27(Wed) 07:15:01)
Templateを差し替える必要があります。

例えばVisual Studio 2019ですと、デザイナでButton要素の右クリックメニューを開き、
「テンプレートの編集」→「コピーして編集」で定義先を「アプリケーション」に指定してやると、
App.xamlにButtonのControlTemplateが生成されるので、
これのIsMouseOver時の設定を変更します。

さらに、このControlTemplateがButtonの標準Templateに設定されるよう、App.xamlにて、
<Style TargetType="Button">
  <Setter Property="Template" Value="{StaticResource テンプレート名}"/>
</Style>
としてButtonの既定Styleを設定します。

なお、各画面にてButtonの個別のStyleを設定したい場合、
<Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
のようにBasedOnを指定する必要があります。

引用返信 編集キー/
■96772 / inTopicNo.3)  Re[2]: WPFでMO時のボタンハイライトを無効にしたい
□投稿者/ washiki (3回)-(2021/01/29(Fri) 16:16:23)
No96766 (Hongliang さん) に返信
> Templateを差し替える必要があります。
>
> 例えばVisual Studio 2019ですと、デザイナでButton要素の右クリックメニューを開き、
> 「テンプレートの編集」→「コピーして編集」で定義先を「アプリケーション」に指定してやると、
> App.xamlにButtonのControlTemplateが生成されるので、
> これのIsMouseOver時の設定を変更します。
>
> さらに、このControlTemplateがButtonの標準Templateに設定されるよう、App.xamlにて、
> <Style TargetType="Button">
> <Setter Property="Template" Value="{StaticResource テンプレート名}"/>
> </Style>
> としてButtonの既定Styleを設定します。
>
> なお、各画面にてButtonの個別のStyleを設定したい場合、
> <Style TargetType="Button" BasedOn="{StaticResource {x:Type Button}}">
> のようにBasedOnを指定する必要があります。


ありがとうございます!
期待通り振る舞いました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ