【发布时间】:2011-05-02 08:29:15
【问题描述】:
有没有办法只旋转画布而不旋转它的孩子,比如图像、几何等?任何人都可以提供的任何帮助将不胜感激。
非常感谢 拉提什
【问题讨论】:
标签: wpf
有没有办法只旋转画布而不旋转它的孩子,比如图像、几何等?任何人都可以提供的任何帮助将不胜感激。
非常感谢 拉提什
【问题讨论】:
标签: wpf
Kent Boogarts 的建议也是我最初的想法,实现起来并不难,因为可以直接绑定到 Canvas 的 Inverse 变换:
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas>
<Canvas.RenderTransform>
<RotateTransform />
</Canvas.RenderTransform>
</Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentControl Content="{Binding}"
RenderTransform="{Binding RelativeSource={RelativeSource AncestorType=Canvas},
Path=RenderTransform.Inverse}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
【讨论】:
RenderTransform.Children[1].Inverse,当然索引需要指向正确的变换。
我认为唯一的方法是旋转 Canvas 并将其子项旋转到另一个方向。
【讨论】:
不,除非您对每个孩子应用相反的转换,否则无法做到这一点。也许如果你解释一下你想要达到的目标,可能会有更简单的方法来做到这一点。
【讨论】: