旋转画布不应该旋转它的子画面

时间:2011-05-02 08:29:16

标签: wpf

有没有办法只旋转画布而不旋转它的子画面,如图像,几何等?任何人都可以提供任何帮助将非常感激。

非常感谢 拉西什

3 个答案:

答案 0 :(得分:3)

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>

答案 1 :(得分:2)

我认为唯一的方法是轮换Canvas并将其孩子转向另一个方向。

答案 2 :(得分:0)

不,除非您对每个孩子应用相反的转换,否则无法做到这一点。也许如果你解释一下你想要实现的目标,可能会有一种更简单的方法。