椭圆有一个属性叫做IsMouseOver,我们可以使用它来设置椭圆的颜色,就像这篇文章所做的那样。
但在实践中,当鼠标悬停在椭圆上时,描边会改变(将椭圆绘制成圆形),当鼠标在椭圆内(圆形)时,颜色会恢复原值。
我知道椭圆有一个名为MouseEnter的事件,我们可以使用EventTrigger,但只能在StoryBoard中设置。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*" />
<ColumnDefinition Width="90*" />
</Grid.ColumnDefinitions>
<Ellipse x:Name="checkButton" Grid.Column="0" Stroke="Black"></Ellipse>
<TextBlock x:Name="txtContent" Grid.Column="1" FontWeight="Bold" VerticalAlignment="Center" FontSize="14" HorizontalAlignment="Center" TextAlignment="Center">
<ContentPresenter />
</TextBlock>
</Grid>
<ControlTemplate.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard></BeginStoryboard>
// something like <Setter Property="Stroke" Value="Red" /> here
</EventTrigger>
</ControlTemplate.Triggers>
我只希望当鼠标移入时,设置椭圆的描边;当鼠标移出时,将其恢复。有人有什么想法吗?
提前感谢!