1
我有问题,同时编写一个程序来从文本文件中绘制数字。我的程序目前正在读取文本文件中的数字并在画布上绘制它们,但是我对MouseEnter和MouseLeave事件有问题。MouseEnter MouseLeave in c#
我想多边形改变颜色,如果有鼠标放在上面。我怎样才能做到这一点?
该应用程序是用WPF编写的,使用Canvas
控件。
我有问题,同时编写一个程序来从文本文件中绘制数字。我的程序目前正在读取文本文件中的数字并在画布上绘制它们,但是我对MouseEnter和MouseLeave事件有问题。MouseEnter MouseLeave in c#
我想多边形改变颜色,如果有鼠标放在上面。我怎样才能做到这一点?
该应用程序是用WPF编写的,使用Canvas
控件。
您可以使用event triggers。例如:
<Canvas>
<Canvas.Resources>
<Style TargetType="Polygon">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.1"
Storyboard.TargetProperty="(Polygon.Fill).(SolidColorBrush.Color)"
To="Yellow"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<ColorAnimation Duration="0:0:0.1"
Storyboard.TargetProperty="(Polygon.Fill).(SolidColorBrush.Color)"
To="Blue"
/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Canvas.Resources>
<Polygon Fill="Blue" Canvas.Left="100" Canvas.Top="50">
<Polygon.Points>
<Point>0,0</Point>
<Point>20,0</Point>
<Point>25,5</Point>
<Point>20,20</Point>
<Point>0,20</Point>
<Point>0,0</Point>
</Polygon.Points>
</Polygon>
</Canvas>
McGarnagle非常感谢,我想要它,它运行:) – 2014-08-29 20:49:32
欢迎来到SO!请提供您遇到的问题的更多细节。到目前为止,你有什么? – fuesika 2014-08-29 20:26:27
你遇到什么问题?您是否在绘画或事件处理方面遇到麻烦? – 2014-08-29 20:26:36
您可以尝试IsMouseDirectlyOverChanged事件。 MouseLeave在elmenet的边界上运行,我希望这意味着边界框。 – 2014-08-29 20:27:08