FrameworkElement.LayoutTransform FrameworkElement.LayoutTransform FrameworkElement.LayoutTransform FrameworkElement.LayoutTransform Property

Définition

Obtient ou définit une transformation de conception graphique qui doit s’appliquer à cet élément quand la disposition est effectuée.Gets or sets a graphics transformation that should apply to this element when layout is performed.

public:
 property System::Windows::Media::Transform ^ LayoutTransform { System::Windows::Media::Transform ^ get(); void set(System::Windows::Media::Transform ^ value); };
public System.Windows.Media.Transform LayoutTransform { get; set; }
member this.LayoutTransform : System.Windows.Media.Transform with get, set
Public Property LayoutTransform As Transform

Valeur de propriété

Transformation que cet élément doit utiliser.The transform this element should use. La valeur par défaut est Identity.The default is Identity.

Exemples

L’exemple suivant montre comment appliquer un LayoutTransform à un élément.The following example shows how to apply a LayoutTransform to an element. L’exemple crée une instance de Button et l’héberge dans un parent Grid.The example creates an instance of Button and hosts it within a parent Grid. Il utilise également le LayoutTransform propriété pour appliquer un RotateTransform à la Button.It also uses the LayoutTransform property to apply a RotateTransform to the Button.


Button^ btn2 = gcnew Button();
btn2->Background = Brushes::LightCoral;
btn2->Content = "RotateTransform";
btn2->LayoutTransform = gcnew RotateTransform(45, 25, 25);
Grid::SetRow(btn2, 0);
Grid::SetColumn(btn2, 1);
grid1->Children->Add(btn2);


Button btn2 = new Button();
btn2.Background = Brushes.LightCoral;
btn2.Content = "RotateTransform";
btn2.LayoutTransform = new RotateTransform(45, 25, 25);
Grid.SetRow(btn2, 0);
Grid.SetColumn(btn2, 1);
grid1.Children.Add(btn2);


Dim btn2 As New Button()
btn2.Background = Brushes.LightCoral
btn2.Content = "RotateTransform"
btn2.LayoutTransform = New RotateTransform(45, 25, 25)
Grid.SetRow(btn2, 0)
Grid.SetColumn(btn2, 1)
grid1.Children.Add(btn2)


<Button Grid.Row="0" Grid.Column="1" Background="LightCoral" Content="RotateTransform Applied">
  <Button.LayoutTransform>
    <RotateTransform CenterX="25" CenterY="25" Angle="45" />
  </Button.LayoutTransform>
</Button>

Remarques

Contrairement à RenderTransform, LayoutTransform affecte les résultats de la mise en page.In contrast to RenderTransform, LayoutTransform will affect results of layout.

Définition d’une transformation fournit des fonctionnalités puissantes de mise à l’échelle et de rotation.Setting a transform provides powerful capabilities of scaling and rotating. Toutefois, LayoutTransform ignore TranslateTransform operations.However, LayoutTransform ignores TranslateTransform operations. Il s’agit, car le comportement du système de disposition pour les éléments enfants d’un FrameworkElement corrige automatiquement tout offset à la position d’un élément à l’échelle ou pivotée dans la mise en page et le système de coordonnées de l’élément parent.This is because the layout system behavior for child elements of a FrameworkElement auto-corrects any offsets to the position of a scaled or rotated element into the layout and coordinate system of the parent element.

LayoutTransform peut entraîner des performances médiocres des applications si vous l’appelez dans un scénario qui ne requiert pas une passe entière par le système de disposition.LayoutTransform can lead to poor application performance if you invoke it in a scenario that does not require a full pass by the layout system. Lorsque vous appliquez un LayoutTransform à la Children collection de la Panel, il déclenche une nouvelle passe par le système de disposition et force objets tout à l’écran pour remesurer et à réorganiser.When you apply a LayoutTransform to the Children collection of the Panel, it triggers a new pass by the layout system and forces all on-screen objects to be remeasured and rearranged. Si vous mettez à jour l’application complète interface utilisateur (UI)user interface (UI), cette fonctionnalité peut être exactement ce dont vous avez besoin.If you are updating the complete application interface utilisateur (UI)user interface (UI), this functionality might be exactly what you need. Toutefois, si vous n’avez pas besoin une passe de disposition complète, utilisez la RenderTransform propriété, qui n’appelle pas le système de disposition et par conséquent, est généralement un meilleur choix pour ce scénario.However, if you do not need a full layout pass, use the RenderTransform property, which does not invoke the layout system, and therefore, is typically a better choice for this scenario.

Exemples de scénarios où LayoutTransform serait utile incluent : faire pivoter des éléments tels que les composants de menu de horizontale à la verticale ou vice versa, mise à l’échelle d’éléments (Zoom) sur le focus, en fournissant le comportement d’édition, etc.Example scenarios where LayoutTransform would be useful include: rotating elements such as menu components from horizontal to vertical or vice versa, scaling elements (zooming in) on focus, providing editing behavior, etc.

Informations sur les propriétés de dépendanceDependency Property Information

Champ d’identificateurIdentifier field LayoutTransformProperty
La valeur des propriétés de métadonnées trueMetadata properties set to true AffectsMeasure

S’applique à

Voir aussi