隐藏

wpf 鼠标移上去Button 变成圆形按钮

发布:2024/12/22 19:01:39作者:管理员 来源:本站 浏览次数:5

在WPF中,要使按钮在鼠标移上去时变成圆形,你可以通过设置按钮的样式来实现。以下是一个简单的例子,展示了如何通过修改控件模板来实现这个效果:


<Window.Resources>

   <Style TargetType="Button" x:Key="RoundButtonStyle">

       <Setter Property="Template">

           <Setter.Value>

               <ControlTemplate TargetType="Button">

                   <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}"

                           BorderThickness="{TemplateBinding BorderThickness}"

                           Background="{TemplateBinding Background}"

                           CornerRadius="999"

                           SnapsToDevicePixels="true">

                       <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"

                                         VerticalAlignment="{TemplateBinding VerticalContentAlignment}"

                                         SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />

                   </Border>

                   <ControlTemplate.Triggers>

                       <Trigger Property="IsMouseOver" Value="true">

                           <Setter TargetName="border" Property="Background" Value="LightBlue"/>

                       </Trigger>

                   </ControlTemplate.Triggers>

               </ControlTemplate>

           </Setter.Value>

       </Setter>

   </Style>

</Window.Resources>


<Grid>

   <Button Width="100" Height="100" Style="{StaticResource RoundButtonStyle}" Content="Click Me"/>

</Grid>


在这个例子中,我们定义了一个名为RoundButtonStyle的样式,并在其中设置了一个ControlTemplate,该模板包含一个Border元素,其CornerRadius属性被设置为一个很大的值,从而使得按钮看起来是圆形的。当鼠标悬停在按钮上时,通过触发器改变按钮的背景色。


你可以将这个样式应用到你的WPF项目中的任何按钮上,使它在鼠标悬停时呈现为圆形。