如何改变X,帆布y原点到左下角和翻转y坐标?(How to change x,y origin of

2019-06-26 20:21发布

我有一大堆的数据点,我想双向绑定到画布上的点。

点假定较大的y值都反映在像大多数数学图向上的方向。

如何在x,画布y原点改变左下角和扭转它在y的解释协调?

(我想留在XAML)

Answer 1:

<Canvas>
    <Canvas.LayoutTransform>
        <ScaleTransform ScaleX="1" ScaleY="-1" CenterX=".5" CenterY=".5" />
    </Canvas.LayoutTransform>
</Canvas>


Answer 2:

我广泛试过ScaleTransform方法:它不工作。 它只是转移了2个坐标之一,不可能兼顾。 然而,这像宣传的那样:

<Canvas Name="myCanvas" Width="0" Height="0" RenderTransform="1 0 0 -1 0 0"
    HorizontalAlignment="Center" VerticalAlignment="Center" >


Answer 3:

如果您使用数据绑定,您可以使用一个TypeConvertor ,但你必须在XAML外面去,你需要知道的画布大小事前。



Answer 4:

我可能会创建一个自定义面板,而不是使用Canvas的,并给它的附加属性,对于您的需求是有意义的。 下面是实现自定义面板的一个例子:

http://blog.boschin.it/articles/silverlight-radialpanel.aspx

像帆布的东西很简单,因为你不必做太多的措施和安排覆盖。

您可能还能够从画布继承和重写ArrangeOverride,我还没有试过,但它可能工作。



文章来源: How to change x,y origin of canvas to bottom left and flip the y coordinates?