如何在 WPF 中的 scaletransform 动画期间和之后阻止元素重叠?
How does one stop elements from overlapping during and after a scaletransform animation in WPF?
我有一个列表框,其中包含基于 Style.Triggers
属性的 RenderTransform
项目,故事板动画包括 x 1.5
和 y 1.5
的缩放变换。结果很糟糕,我正在寻找一种方法让项目停止重叠,如下图所示。
我解决了这个问题。我使用的是 RenderTransform.ScaleX
和 RenderTransform.ScaleY
。我将它们更改为 LayoutTransform.ScaleX
和 LayoutTransform.ScaleY
。发生这种情况是因为 LayoutTransform
在布局发生之前应用,而 RenderTransform
在布局发生之后发生。
RenderTransform 在布局完成后应用 - 这意味着 UI 元素的大小和位置已经计算完毕。此时应用变换不会移动周围的元素。
相反,您可以将变换设置为 LayoutTransform 属性 - 然后将在布局过程中应用变换。
我有一个列表框,其中包含基于 Style.Triggers
属性的 RenderTransform
项目,故事板动画包括 x 1.5
和 y 1.5
的缩放变换。结果很糟糕,我正在寻找一种方法让项目停止重叠,如下图所示。
我解决了这个问题。我使用的是 RenderTransform.ScaleX
和 RenderTransform.ScaleY
。我将它们更改为 LayoutTransform.ScaleX
和 LayoutTransform.ScaleY
。发生这种情况是因为 LayoutTransform
在布局发生之前应用,而 RenderTransform
在布局发生之后发生。
RenderTransform 在布局完成后应用 - 这意味着 UI 元素的大小和位置已经计算完毕。此时应用变换不会移动周围的元素。
相反,您可以将变换设置为 LayoutTransform 属性 - 然后将在布局过程中应用变换。