更改WPF中鼠标悬停上的子控件的样式
我有一个自定义控件,它包含两个矩形和几个文本框。我想更改鼠标上方矩形的背景色 我添加触发器如下:更改WPF中鼠标悬停上的子控件的样式,wpf,properties,styles,controls,rectangles,Wpf,Properties,Styles,Controls,Rectangles,我有一个自定义控件,它包含两个矩形和几个文本框。我想更改鼠标上方矩形的背景色 我添加触发器如下: <Rectangle Grid.Column="1" Fill="#FF383838" Grid.ColumnSpan="3" Margin="0,4,4,4"> <Rectangle.Style> <St
<Rectangle
Grid.Column="1"
Fill="#FF383838"
Grid.ColumnSpan="3"
Margin="0,4,4,4">
<Rectangle.Style>
<Style TargetType="{x:Type Rectangle}">
<Setter Property="Fill" Value="#FF383838" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="#FF575757" />
</Trigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
但由于矩形是我控件的一部分,我假设事件没有触发。通过XAML设置属性将应用于您尝试设置的样式属性。要解决此问题,请删除
Fill=#FF383838
,因此您应该:
<Rectangle Grid.Column="1"
Grid.ColumnSpan="3"
Margin="0,4,4,4">
//... rest of code here
//... 剩下的代码在这里
尝试以下代码:
<Window.Resources>
<Style TargetType="Rectangle" x:Key="test">
<Setter Property="Fill" Value="#FF383838" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="#FF575757" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Rectangle Style="{StaticResource test}" />