c# – WPF:用鼠标左键改变边框的背景颜色
发布时间:2020-12-15 19:49:10 所属栏目:百科 来源:网络整理
导读:下面是我在应用程序中用于按钮的样式.现在,当用户用鼠标左键单击按钮时,我正在尝试更改名为“Background”的Border元素的背景颜色. 我怎么做? Style TargetType="{x:Type Button}" Setter Property="Template" Setter.Value ControlTemplate TargetType="{x
下面是我在应用程序中用于按钮的样式.现在,当用户用鼠标左键单击按钮时,我正在尝试更改名为“Background”的Border元素的背景颜色.
我怎么做? <Style TargetType="{x:Type Button}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type Button}"> <Border BorderBrush="#6e6964" BorderThickness="1" CornerRadius="1" Margin="{TemplateBinding Margin}" SnapsToDevicePixels="True"> <Border BorderBrush="White" BorderThickness="1" CornerRadius="1" SnapsToDevicePixels="True"> <Border Padding="12,4,12,4" SnapsToDevicePixels="True" Name="Background"> <Border.Background> <LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> <GradientStop Color="White" Offset="0"/> <GradientStop Color="#f1f1f1" Offset="1"/> </LinearGradientBrush> </Border.Background> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" /> </Border> </Border> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouSEOver" Value="True"> <Setter Property="Background" TargetName="Background"> <Setter.Value> <LinearGradientBrush StartPoint="0,1"> <GradientStop Offset="0" Color="#edf8fb"/> <GradientStop Offset="1" Color="#e2edf0"/> </LinearGradientBrush> </Setter.Value> </Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> 解决方法
您只需要以下属性触发器:
<ControlTemplate.Triggers> <Trigger Property="IsPressed" Value="True"> <Setter Property="Background" TargetName="Background" Value="Red"/> </Trigger> </ControlTemplate.Triggers> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |