【发布时间】:2025-12-08 06:55:02
【问题描述】:
我正在学习使用 WPF,但遇到了问题。我正在创建一个自定义按钮,当我将鼠标悬停在它上面时应该会改变背景颜色。此时我有以下代码:
<ControlTemplate x:Key="myButtonTemplate" TargetType="{x:Type Button}">
<Grid>
<Ellipse x:Name="outerElipse" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="Green" Offset="0"/>
<GradientStop Color="Purple" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="20">
<Ellipse.Fill>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="LightBlue" Offset="0"/>
<GradientStop Color="Blue" Offset="1"/>
</LinearGradientBrush>
</Ellipse.Fill>
</Ellipse>
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" TextBlock.Foreground="White"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="Black"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
问题是我不知道在第一个(外)椭圆上触发它的热度。 以下行还给出错误“无法识别或无法访问成员“Fill”:
<Setter Property="Fill" Value="Black"/>
【问题讨论】: