【发布时间】:2010-01-13 00:39:21
【问题描述】:
由于 Image 控件没有 Click 事件,我使用 MouseDown 事件对其进行模拟,它的工作原理与 Click 完全一样。
这是我的风格:
<Window.Resources>
<Style x:Key="imageStyle" TargetType="{x:Type Image}">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform />
</Setter.Value>
</Setter>
<Setter Property="RenderTransformOrigin" Value="0.5, 0.5" />
<Style.Triggers>
<EventTrigger RoutedEvent="Image.MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:0.5" From="1" To="1.2" AutoReverse="True"
Storyboard.TargetProperty="RenderTransform.ScaleX"/>
<DoubleAnimation Duration="0:0:0.2" From="1" To="1.2" AutoReverse="True"
Storyboard.TargetProperty="RenderTransform.ScaleY"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
我可以在哪里/如何创建点击事件,这样我就不必对表单上的每个图像都执行此操作:
【问题讨论】:
-
我想我可以在路由事件中添加另一个
:“Image.MouseDown” 问题是,我不知道在这些标签中放什么。 -
这取决于你想做什么......没有通用的答案。有些事情可以用触发器来完成,有些事情需要代码......
-
Papuccino1:EventTriggers目前只支持storyboard和sound player action,不支持任意代码;您不能扩展 TriggerAction,因为它具有内部抽象成员。