gpt4 book ai didi

c# - 闪烁按钮(非常基本)

转载 作者:太空宇宙 更新时间:2023-11-03 21:04:06 24 4
gpt4 key购买 nike

所以我创建了一个非常(我怎么强调也不为过)简单的程序,因为我刚刚开始学习 WPF。

其实很简单,我可以把它全部写在这里:

<Window x:Class="TestWPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="650" Width="825">
<Grid>
<StackPanel Width="125" Background="AliceBlue" Margin="0,10,200,10">
<Button Margin="5,5,5,5" Height="50" Width="100" Content="Tester" Background="Coral">

</Button>
</StackPanel>

</Grid>

但是这个程序有问题。按钮闪烁。

当我加载程序时,按钮是珊瑚色的(正如预期的那样)。如果我将鼠标悬停在它上面,它会变回原来的颜色(我猜这种颜色来自控制它的控件?如您所见,我只为按钮指定了一种颜色。)

当我单击按钮(鼠标左键)时出现问题。当我这样做时,按钮会在大约一秒钟的时间内从一种颜色(珊瑚色)过渡到另一种颜色(爱丽丝蓝)。它一遍又一遍地来回走动。如果我在这种状态下将鼠标悬停在它上面,它会像往常一样返回到鼠标悬停颜色,但是当我将鼠标移开它时,它会再次开始闪烁。

需要说明的是:这与鼠标悬停时颜色的变化无关。我没意见。单击按钮后,所述按钮一遍又一遍地在两种颜色之间转换。颜色是珊瑚色,鼠标悬停在颜色上,当然我没有指定。

我在这里不知所措。我没有告诉它这样做(是吗?)我没有单击属性中的任何内容或在后面编写任何代码。 XAML 就是我所做的一切。

按钮到底为什么会闪烁?

编辑这里有一些images这显示了整个事情。所有代码(没有)。 XAML、app.xaml.cs,一切。

编辑 2 另一张包含所有 button properties 的图片.据我所知,我没有做任何更改。

最佳答案

您遇到的“闪烁”可能来自 Button 的默认模板。您可以覆盖它以使您的 Button 看起来像一个没有任何效果的普通矩形:

<Button Margin="5,5,5,5" Height="50" Width="100" Content="Tester" Background="Coral">
<Button.Template>
<ControlTemplate TargetType="Button">
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Margin}">
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" />
</Border>
</ControlTemplate>
</Button.Template>
</Button>

关于c# - 闪烁按钮(非常基本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42420325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com