我有一個由兩行和第二行上的矩形組成的網格。每當滑鼠懸停在網格上時,我都想將其顏色更改為紅色。
我嘗試使用 EventTrigger,但是當滑鼠懸停在 Grid 時沒有任何反應
<Grid Width="50" Height="50" Background="Green">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.Style>
<Style TargetType="{x:Type Grid}">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Rectangle.Fill" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
</Grid.Style>
<Rectangle Grid.Row="1" Fill="LightGray" />
</Grid>

uj5u.com熱心網友回復:
Rectangle.Fill不是 的屬性Grid。將 移動Style到要更改的元素:
<Grid Width="50" Height="50" Background="Green">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Rectangle Grid.Row="1">
<Rectangle.Style>
<Style TargetType="Rectangle">
<Setter Property="Fill" Value="LightGray" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=Grid}}"
Value="True">
<Setter Property="Fill" Value="Red" />
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
</Grid>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/336526.html
下一篇:字典作為類屬性和方法的引數
