Wpf 在鼠标单击时设置x和y
我有一个矩形,我想设置位置(x,y),当用户按下鼠标按钮向左1像素,向下1像素时,我得到一个简单的反馈Wpf 在鼠标单击时设置x和y,wpf,Wpf,我有一个矩形,我想设置位置(x,y),当用户按下鼠标按钮向左1像素,向下1像素时,我得到一个简单的反馈 <Canvas x:Name="canvas"> <Canvas.Resources> <Style x:Key="myStyle" TargetType="Rectangle"> <Setter Property="Fill" Value="AliceBlue" />
<Canvas x:Name="canvas">
<Canvas.Resources>
<Style x:Key="myStyle" TargetType="Rectangle">
<Setter Property="Fill" Value="AliceBlue" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Fill" Value="Green" />
</Trigger>
<EventTrigger RoutedEvent="Button.Click" >
<BeginStoryboard>
<Storyboard TargetProperty="Canvas.Left">
<Int16Animation From="10" To="100" Duration="0:0:0:1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Canvas.Resources>
<Rectangle x:Name="rect" Width="120" Height="120" Canvas.Left="10" Canvas.Top="10" Style="{StaticResource myStyle}" />
</Canvas>
在我当前的解决方案中,鼠标悬停在触发器上是有效的。但对我来说什么都没发生
有没有办法做到这一点
谢谢这里有一些地方不对劲
- 没有
按钮。单击矩形上的
事件。例如使用
MouseLeftButtonUp
是一个附加属性。您必须将属性名称写在括号中Canvas.Left
- 它的类型为
,因此应通过double
设置动画DoubleAnimation
<EventTrigger RoutedEvent="MouseLeftButtonUp" >
<BeginStoryboard>
<Storyboard TargetProperty="(Canvas.Left)">
<DoubleAnimation From="10" To="100" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>