2014-04-30 5 views
0

j'ai un problème pour obtenir la valeur TranslateX de la grille je peux définir la valeur dans la grille par transformation compositeTranslateX XAML dans WPF C#

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; 

mais je ne peux pas prendre la valeur

Répondre

1

Vous pouvez toujours accéder au CompositeTransform existant par la propriété RenderTransform de la grille. Par conséquent, vous devez définir une fois que le CompositeTransform, de préférence en XAML:

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

Maintenant vous pouvez écrire du code comme ceci:

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; 
0

Vous pouvez obtenir la TranslateX Valeur de grille comme ceci:

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