mouseover 可以成功修改 button的background。但是按下按钮的时候就background修改失败了第一:ispressed触发是成功作用的。是background没有被正确修改样式
第二:button 按下的时候background就变白了。我想问题是出在这里。求在按下按钮的时候如何正确的修改button 的background

解决方案 »

  1.   

    <Window.Resources>
            <Style TargetType="{x:Type Button}">
                <Setter Property="FontSize" Value="14"/>
                <Setter Property="Foreground" Value="White" />
                <Setter Property="BorderBrush" Value="{x:Null}"/>
                
                <Setter Property="Background">
                    <Setter.Value>
                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                        <GradientStop Color="#FF494F5B" Offset="0.382"/>
                        <GradientStop Color="#FFC3C8CE"/>
                        <GradientStop Color="#FF666F7E" Offset="1"/>
                    </LinearGradientBrush>
                    </Setter.Value>
                </Setter>
                <Setter Property="BitmapEffect">
                    <Setter.Value>
                    <DropShadowBitmapEffect Color="Black" Direction="280" ShadowDepth="3" Softness="0.1"   Opacity="0.6"/>
                    </Setter.Value>
                </Setter>
               
                <Style.Triggers>
                    <Trigger Property="IsPressed" Value="true">
                        <Setter Property = "Background">
                            <Setter.Value>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FF676F7E" Offset="1"/>
                                    <GradientStop Color="#FF959CA6"/>
                                    <GradientStop Color="#FF59616E" Offset="0.669"/>
                                </LinearGradientBrush>
                            </Setter.Value>
                        </Setter>
                        <Setter Property="BitmapEffect">
                            <Setter.Value>
                                <BitmapEffectGroup>
                                    <DropShadowBitmapEffect Color="Black" Direction="320" ShadowDepth="1" Softness="0.1"   Opacity="0.1"/>
                                    <BevelBitmapEffect BevelWidth="2" EdgeProfile="CurvedIn" LightAngle="280" Relief="0.1" Smoothness="0.1" />
                                </BitmapEffectGroup>
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="true">
                        <Setter Property = "Background">
                            <Setter.Value>
                                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                    <GradientStop Color="#FF858FA0" Offset="1"/>
                                    <GradientStop Color="#FFC2C8D0"/>
                                    <GradientStop Color="#FF6A788E" Offset="0.441"/>
                                </LinearGradientBrush>                        </Setter.Value>
                        </Setter>
                        <Setter Property="BitmapEffect">
                            <Setter.Value>
                                <BitmapEffectGroup>
                                    <DropShadowBitmapEffect Color="Black" Direction="320" ShadowDepth="2" Softness="0.1"   Opacity="0.5"/>
                                    <BevelBitmapEffect BevelWidth="2" EdgeProfile="CurvedIn" LightAngle="135" Relief="0.1" Smoothness="0.1" />
                                </BitmapEffectGroup>                        </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>           
                
            </Style>
            <Style x:Key="MyFocusVisual">
                <Setter Property="Control.Template">
                    <Setter.Value>
                        <ControlTemplate>
                            <Rectangle Margin="-2" StrokeThickness="1" Stroke="Red" StrokeDashArray="1 2"/>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>    </Window.Resources>
      

  2.   

    我也碰见了这个问题,设置为false的时候有效果