繁体   English   中英

是否可以使RenderTransform动画不修改鼠标的点击区域?

[英]Is it possible to make RenderTransform animation not modify the hit area for the mouse?

我的按钮模板上有一个动画,当IsMouseOver为true时可以旋转按钮。
动画旋转按钮,因此,如果用户不将光标放在旋转的锚点附近,则按钮可以“逃跑”。

我的目标是,即使鼠标在其原始区域内,该按钮仍将保持悬停状态(因此,即使该按钮远离光标旋转,它也将保持悬停状态,并且即使没有单击,也将获得鼠标单击)直接在上面)。

我以为使用RenderTransform而不是LayoutTransform可以解决我的问题,但是不幸的是它仍然会发生。

我该怎么做?
谢谢!


这是我的情节提要(我是用Blend创建的,因此如果混乱,请原谅):

 <Storyboard x:Key="HoverAnimation"> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)" Storyboard.TargetName="border"> <EasingDoubleKeyFrame KeyTime="0:0:1.6" Value="-10.8"> <EasingDoubleKeyFrame.EasingFunction> <BounceEase EasingMode="EaseOut"/> </EasingDoubleKeyFrame.EasingFunction> </EasingDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <PointAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransformOrigin)" Storyboard.TargetName="border"> <EasingPointKeyFrame KeyTime="0:0:1.6" Value="0.919,0.3"> <EasingPointKeyFrame.EasingFunction> <BounceEase EasingMode="EaseOut"/> </EasingPointKeyFrame.EasingFunction> </EasingPointKeyFrame> </PointAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[1].(SkewTransform.AngleX)" Storyboard.TargetName="border"> <EasingDoubleKeyFrame KeyTime="0:0:1.6" Value="0"/> </DoubleAnimationUsingKeyFrames> </Storyboard> 

在按钮的模板中,彼此叠加添加两个项目(使用Grid ):

  • 下面的透明边框占据整个矩形区域,不对其进行转换。

  • 上面要应用转换的实际按钮内容。

我无法提供经过测试的示例代码,因为您还没有提供独立的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM