我在 WPF 中有一个要显示ShowDialog
的窗口,当显示该窗口时,它应该有一个缩放动画。我已经成功地创建了动画并且所有的作品都很好,除了一件事:
当窗口接近完全缩放状态并且缓动功能启动时,窗口的外边缘似乎超出了实际的窗口边界并被剪裁。如何使用这种带有缓动的缩放动画而不被剪裁?
这是我正在使用的缩放动画:
<DoubleAnimation Storyboard.TargetProperty="(Window.RenderTransform).(ScaleTransform.ScaleX)"
BeginTime="0:0:0.0" Duration="0:0:0.4" From="0" To="1">
<DoubleAnimation.EasingFunction>
<BackEase EasingMode="EaseOut" Amplitude="0.25" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
<DoubleAnimation Storyboard.TargetProperty="(Window.RenderTransform).(ScaleTransform.ScaleY)"
BeginTime="0:0:0.0" Duration="0:0:0.4" From="0" To="1">
<DoubleAnimation.EasingFunction>
<BackEase EasingMode="EaseOut" Amplitude="0.25" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
编辑:它出现剪辑的原因是缓动功能不会移动窗口,而是移动窗口内的内容;至少这就是它似乎正在做的事情。该窗口具有自定义样式,顶角为圆形。实际窗口具有透明背景。因此,当缓动功能启动时,内部内容超出了实际窗口的大小,并且显示了硬 90 度角,因为内容超出了窗口的大小。
由于动画与窗口本身而不是窗口的内容相关联,因此不应发生在该点的内部内容拉伸。