消除"亮点"按钮点击 - XAML [英] Eliminating "highlight" on button click- XAML

查看:112
本文介绍了消除"亮点"按钮点击 - 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的Horizo​​ntalAlignment = {TemplateBinding Horizo​​ntalContentAlignment}保证金={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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆