在wpf c#中翻译X xaml

本文关键字:xaml 翻译 wpf | 更新日期: 2023-09-27 18:00:49

我在获取网格的值TranslateX时遇到问题我可以通过复合变换在网格中设置值

 CompositeTransform dd = new CompositeTransform();
     CompositeTransform dd = new CompositeTransform();
        dd.TranslateX = Convert.ToInt32(tabl.x);
        dd.TranslateY = Convert.ToInt32(tabl.y);
        dd.Rotation = Convert.ToInt32(tabl.r);
        grid.RenderTransform = dd;

但是我不能取的值

在wpf c#中翻译X xaml

您始终可以通过Grid的RenderTransform属性访问现有的CompositeTransform。因此,您应该设置一次CompositeTransform,最好是在XAML中:

<Grid x:Name="grid">
    <Grid.RenderTransform>
        <CompositeTransform/>
    </Grid.RenderTransform>
</Grid>

现在你可以写这样的代码:

var transform = (CompositeTransform)grid.RenderTransform;
// set values
transform.TranslateX = tabl.x;
transform.TranslateY = tabl.y;
transform.Rotation = tabl.r;
// get values
var x = transform.TranslateX;
var y = transform.TranslateY;
var r transform.Rotation;

您可以获得如下网格的TranslateX值:

double translateX = (grid.RenderTransform as CompositeTransform).TranslateX;