消除"亮点"按钮点击 - XAML [英] Eliminating "highlight" on button click- XAML
本文介绍了消除"亮点"按钮点击 - XAML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有我个性上的颜色在接口上的几个按钮。当我鼠标移到他们,他们得到有色与微软在Windows上使用的东西是蓝色。它看起来很棒,只是没有在我的颜色组合(黑色和金色)。
我如何消除点击行为此高亮?我需要为我所有的按键,从基本样式继承的做到这一点:
<风格X:键=ContentControlElementsStyle的TargetType =ContentControl中>
< setter属性=的FontFamilyVALUE =濑越UI/>
< setter属性=背景VALUE =黑/>
< setter属性=前景VALUE =#F1B82D/>
< setter属性=BorderBrushVALUE =#F1B82D/>
< /样式和GT;
解决方案
使用下面的按钮样式。
<风格的TargetType =按钮>
< setter属性=模板>
< Setter.Value>
<的ControlTemplate的TargetType ={X:类型ButtonBase}>
< BORDER X:名称=边境BorderBrush ={TemplateBinding BorderBrush}了borderThickness ={TemplateBinding了borderThickness}后台={TemplateBinding背景}SnapsToDevicePixels =真>
<内容presenter X:NAME =内容presenter的ContentTemplate ={TemplateBinding的ContentTemplate}CONTENT ={TemplateBinding内容}ContentStringFormat ={TemplateBinding ContentStringFormat}调焦=FALSE的HorizontalAlignment = {TemplateBinding HorizontalContentAlignment}保证金={TemplateBinding填充}RecognizesAccessKey =真SnapsToDevicePixels ={TemplateBinding SnapsToDevicePixels}VerticalAlignment ={TemplateBinding VerticalContentAlignment}/>
< /边框>
< ControlTemplate.Triggers>
<! - <触发属性=Button.IsDefaultedVALUE =真>
< setter属性=BorderBrush的TargetName =BORDERVALUE ={DynamicResource {X:静态SystemColors.HighlightBrushKey}}/>
< /触发> - >
<! - <触发属性=IsMouseOverVALUE =真>
< setter属性=背景的TargetName =BORDERVALUE =#FFBEE6FD/>
< setter属性=BorderBrush的TargetName =BORDERVALUE =#FF3C7FB1/>
< /触发> - >
<! - <触发属性=是pressedVALUE =真>
< setter属性=背景的TargetName =BORDERVALUE =#FFC4E5F6/>
< setter属性=BorderBrush的TargetName =BORDERVALUE =#FF2C628B/>
< /触发> - >
<触发属性=ToggleButton.IsCheckedVALUE =真>
< setter属性=背景的TargetName =BORDERVALUE =#FFBCDDEE/>
< setter属性=BorderBrush的TargetName =BORDERVALUE =#FF245A83/>
< /触发>
<触发属性=IsEnabledVALUE =FALSE>
< setter属性=背景的TargetName =BORDERVALUE =#FFF4F4F4/>
< setter属性=BorderBrush的TargetName =BORDERVALUE =#FFADB2B5/>
< setter属性=TextElement.Foreground的TargetName =内容presenterVALUE =#FF838383/>
< /触发>
< /ControlTemplate.Triggers>
< /控件模板>
< /Setter.Value>
< /二传手>
< /样式和GT;
我评论引起了在小鼠的颜色变化和pressed状态的触发器。
I have a few buttons on an interface that I've customized the color on. When I mouse over them, they get tinted with that blue that Microsoft uses on things in Windows. It looks great, just not on my color combination (black and gold).
How do I eliminate this highlighting on click behavior? I need to do this for all of my buttons, which inherit from a base style:
<Style x:Key="ContentControlElementsStyle" TargetType="ContentControl">
<Setter Property="FontFamily" Value="Segoe UI"/>
<Setter Property="Background" Value="Black"/>
<Setter Property="Foreground" Value="#F1B82D"/>
<Setter Property="BorderBrush" Value="#F1B82D"/>
</Style>
解决方案
Use the following button style.
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ButtonBase}" >
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<!--<Trigger Property="Button.IsDefaulted" Value="True">
<Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
</Trigger>-->
<!--<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBEE6FD"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF3C7FB1"/>
</Trigger>-->
<!--<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFC4E5F6"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF2C628B"/>
</Trigger>-->
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter Property="Background" TargetName="border" Value="#FFBCDDEE"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FF245A83"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" TargetName="border" Value="#FFF4F4F4"/>
<Setter Property="BorderBrush" TargetName="border" Value="#FFADB2B5"/>
<Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="#FF838383"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
I commented the Triggers which cause color change in mouse over and pressed state.
这篇关于消除&QUOT;亮点&QUOT;按钮点击 - XAML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文