<Style x:Key='butt' TargetType='{x:Type Button}'>
            <Setter Property='Background' Value='#008CBA'/>
            <Setter Property='Foreground' Value='LawnGreen'/>
            <Setter Property='BorderBrush' Value='#008CBA'/>
            <Setter Property='BorderThickness' Value='1'/>
            <Setter Property='Padding' Value='5'/> 
            <Setter Property='Template'>
                <Setter.Value>
                    <ControlTemplate TargetType='{x:Type Button}'>
                        <Border x:Name='border'
                        Background='{TemplateBinding Background}'
                        BorderBrush='{TemplateBinding BorderBrush}'
                        BorderThickness='{TemplateBinding BorderThickness}'
                        Padding='{TemplateBinding Padding}'
                        CornerRadius='5'     >
                            <ContentPresenter HorizontalAlignment='Center'
                                      VerticalAlignment='Center'/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <!-- 当按钮被按下时,将背景色设置为蓝色 -->
                            <Trigger Property='IsPressed' Value='true'>
                                <Setter TargetName='border' Property='Background' Value='Blue'/>
                            </Trigger> 
                            <!-- 当鼠标悬停在按钮上时,将背景色设置为红色 -->
                            <Trigger Property='IsMouseOver' Value='True'>
                                <Setter TargetName='border' Property='Background' Value='red'/>
                            </Trigger>
                            <Trigger Property='IsEnabled' Value='False'>
                                <Setter TargetName='border' Property='Opacity' Value='0.5'/>
                                <Setter TargetName='border' Property='Button.Foreground' Value='Blue'/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>   
 <StackPanel Margin='5' Grid.Row='3' Orientation='Horizontal' HorizontalAlignment='Right'>
            <Button Content='添加行' Margin='0 0 40 0' Click='AddRow_Click' Style='{StaticResource  butt}'/>
            <Button Content='删除行' Click='DeleteRow_Click' Margin='0 0 20 0'  Style='{StaticResource  butt}'/>
        </StackPanel>     当按鼠标按下时没有变蓝色
<p>可能是因为鼠标按下时的触发器没有被正确设置。请检查以下几点:</p>
<ol>
<li>
<p>检查按钮的IsPressed属性是否被正确地绑定到模板的触发器。</p>
</li>
<li>
<p>确保模板中的触发器设置了正确的目标名称,以便将属性值设置到正确的元素上。</p>
</li>
<li>
<p>确保触发器的Value属性值与按钮的IsPressed属性匹配(即,当按钮被按下时,IsPressed属性值应为true)。</p>
</li>
</ol>
<p>如果以上几点都已检查并且问题仍然存在,请尝试使用调试器来跟踪触发器的执行过程,并查看是否有任何错误或异常。</p>
WPF 按钮鼠标按下时没有变蓝的解决方案

原文地址: https://www.cveoy.top/t/topic/nw3V 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录