Mise à jour : novembre 2007
Obtient ou définit le point central de toute transformation de rendu possible déclarée par RenderTransform, relative aux limites de l'élément. Il s'agit d'une propriété de dépendance.
Espace de noms :
System.Windows Assembly :
PresentationCore (dans PresentationCore.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/xaml/presentation
Visual Basic (Déclaration)
Public Property RenderTransformOrigin As Point
Visual Basic (Utilisation)
Dim instance As UIElement
Dim value As Point
value = instance.RenderTransformOrigin
instance.RenderTransformOrigin = value
public Point RenderTransformOrigin { get; set; }
public:
property Point RenderTransformOrigin {
Point get ();
void set (Point value);
}
/** @property */
public Point get_RenderTransformOrigin()
/** @property */
public void set_RenderTransformOrigin(Point value)
public function get RenderTransformOrigin () : Point
public function set RenderTransformOrigin (value : Point)
Utilisation des éléments de propriété XAML
<object>
<object.RenderTransformOrigin>
<Point X="xOrigin" Y="yOrigin"/>
</object.RenderTransformOrigin>
</object>
Utilisation des attributs XAML
<object RenderTransformOrigin="xOrigin, yOrigin"/>
- xOrigin
Facteur d'origine horizontal. Il est généralement donné sous forme de valeur comprise entre 0 et 1. Consultez le paragraphe Notes.
- yOrigin
Facteur d'origine vertical. Il est généralement donné sous forme de valeur comprise entre 0 et 1. Consultez le paragraphe Notes.
Valeur de propriété
Type :
System.Windows..::.Point
Valeur qui déclare la transformation de rendu. La valeur par défaut est un Point caractérisé par les coordonnées (0,0).
Informations sur les propriétés de dépendance
RenderTransformOrigin présente une utilisation quelque peu non standard de la valeur de structure de Point, dans le sens où Point ne représente pas un emplacement absolu dans un système de coordonnées. Les valeurs entre 0 et 1 sont en fait interprétées comme un facteur pour la plage de l'élément actif, sur les axes X et Y. Par exemple, (0.5,0.5) entraîne le centrage de la transformation de rendu sur l'élément ; (1,1) place la transformation au coin inférieur droit de l'élément. NaN n'est pas une valeur acceptée.
Les valeurs au delà de 0 et 1 sont également acceptées mais entraînent des effets de transformation plus inhabituels. Par exemple, si vous affectez (5,5) à RenderTransformOrigin, puis appliquez RotateTransform, le point de rotation se trouve alors vraiment en dehors des limites de l'élément même. La transformation fait ainsi tourner votre élément en suivant un grand cercle dont l'origine se situe au delà du point droit inférieur. Cette origine peut se trouver quelque part à l'intérieur de son élément parent, voire en dehors de l'image ou de la zone d'affichage. Les valeurs de points négatives sont semblables et se placent au delà des limites supérieures gauches.
Les transformations de rendu n'affectent pas la disposition et sont en général utilisées pour animer ou appliquer un effet temporaire à un élément.
L'exemple suivant génère des éléments par code, applique RenderTransformOrigin, puis RenderTransform.
public RotateAboutCenterExample()
{
this.WindowTitle = "Rotate About Center Example";
NameScope.SetNameScope(this, new NameScope());
StackPanel myStackPanel = new StackPanel();
myStackPanel.Margin = new Thickness(50);
Button myButton = new Button();
myButton.Name = "myRenderTransformButton";
this.RegisterName(myButton.Name,myButton);
myButton.RenderTransformOrigin = new Point(0.5,0.5);
myButton.HorizontalAlignment = HorizontalAlignment.Left;
myButton.Content = "Hello World";
RotateTransform myRotateTransform = new RotateTransform(0);
myButton.RenderTransform = myRotateTransform;
this.RegisterName("MyAnimatedTransform",myRotateTransform);
myStackPanel.Children.Add(myButton);
//
// Creates an animation that accelerates through 40% of its duration and
// decelerates through the 60% of its duration.
//
DoubleAnimation myRotateAboutCenterAnimation = new DoubleAnimation();
Storyboard.SetTargetName(myRotateAboutCenterAnimation,"MyAnimatedTransform");
Storyboard.SetTargetProperty(myRotateAboutCenterAnimation,new PropertyPath(RotateTransform.AngleProperty));
myRotateAboutCenterAnimation.From = 0.0;
myRotateAboutCenterAnimation.To = 360;
myRotateAboutCenterAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1000));
// Create a Storyboard to contain the animations and
// add the animations to the Storyboard.
Storyboard myStoryboard = new Storyboard();
myStoryboard.Children.Add(myRotateAboutCenterAnimation);
// Create an EventTrigger and a BeginStoryboard action to
// start the storyboard.
EventTrigger myEventTrigger = new EventTrigger();
myEventTrigger.RoutedEvent = Button.ClickEvent;
myEventTrigger.SourceName = myButton.Name;
BeginStoryboard myBeginStoryboard = new BeginStoryboard();
myBeginStoryboard.Storyboard = myStoryboard;
myEventTrigger.Actions.Add(myBeginStoryboard);
myStackPanel.Triggers.Add(myEventTrigger);
this.Content = myStackPanel;
}
Windows Vista
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
.NET Framework
Pris en charge dans : 3.5, 3.0
Référence
Autres ressources