トップ回答者
フォーカスが当たったときの点線枠を根こそぎ取り除く方法はありますか?

質問
回答
-
BasedOnを使って、点線枠のないスタイルを継承させるのが最も合理的でしょうか?
スタイルをデフォルトでマージする機能は私が調べた範囲内でありませんでした。たぶん無いと思われますので、その方法になると思います。
ところでControlTemplateを設定されていますので、いっそのこと点線枠を出ないようにしたカスタムコントロールとして作成されてしまってもいいかもしれません。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク Yo48 2010年6月7日 12:06
すべての返信
-
とりあえず、App.xamlにButtonコントロールであれば以下のように書くことにより、アプリケーション全体におけるButtonコントロールにスタイルが適用されます。
<Application.Resources> <Style TargetType="Button"> <Setter Property="FocusVisualStyle" Value="{x:Null}" /> </Style> </Application.Resources>
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/ -
trapemiyaさん、ありがとうございます。
そうなんですが、点線枠が邪魔になるのは、Templateを使っているときで、
Templateを使うと、その中でもNullを指定しないと点線枠が復活してしまいます。
<Window.Resources> <Style TargetType="Button"> <Setter Property="FocusVisualStyle" Value="{x:Null}" /> </Style> <Style x:Key="MyButton" TargetType="Button"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid Name="Target" Background="Gold"/> </ControlTemplate> </Setter.Value> </Setter> </Style> </Window.Resources> <StackPanel> <Button Name="ButtonA" Margin="5" Height="40" Style="{StaticResource MyButton}"/> <Button Name="ButtonB" Margin="5" Height="40"/> </StackPanel> </StackPanel>
BasedOnを使って、点線枠のないスタイルを継承させるのが最も合理的でしょうか?
書く量はあまり変わらないですが。
-
BasedOnを使って、点線枠のないスタイルを継承させるのが最も合理的でしょうか?
スタイルをデフォルトでマージする機能は私が調べた範囲内でありませんでした。たぶん無いと思われますので、その方法になると思います。
ところでControlTemplateを設定されていますので、いっそのこと点線枠を出ないようにしたカスタムコントロールとして作成されてしまってもいいかもしれません。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク Yo48 2010年6月7日 12:06