FrameworkElement.LayoutTransform Propriété

Définition

Obtient ou définit une transformation de conception graphique qui doit s’appliquer à cet élément quand la disposition est effectuée.

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é

Transform

Transformation que cet élément doit utiliser. La valeur par défaut est Identity.

Exemples

L’exemple suivant montre comment appliquer un LayoutTransform élément. L’exemple crée une instance de Button et l’héberge au sein d’un parent Grid. Il utilise également la LayoutTransform propriété pour appliquer un RotateTransform à l’objet 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 affectera les résultats de la disposition.

La définition d’une transformation offre de puissantes fonctionnalités de mise à l’échelle et de rotation. Toutefois, LayoutTransform ignore les TranslateTransform opérations. En effet, le comportement du système de disposition pour les éléments enfants d’un FrameworkElement auto-corrige tous les décalages vers la position d’un élément mis à l’échelle ou pivoté dans le système de disposition et de coordonnées de l’élément parent.

LayoutTransform peut entraîner des performances d’application médiocres si vous l’appelez dans un scénario qui ne nécessite pas de passage complet par le système de disposition. Lorsque vous appliquez un LayoutTransform à la Children collection du Panel, il déclenche une nouvelle passe par le système de disposition et force tous les objets visuels à remeasurer et à réorganiser. Si vous mettez à jour l’interface utilisateur complète de l’application, cette fonctionnalité peut être exactement ce dont vous avez besoin. Toutefois, si vous n’avez pas besoin d’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.

Exemples de scénarios où LayoutTransform il serait utile d’inclure : rotation d’éléments tels que des composants de menu de l’horizontale à la verticale ou inversement, des éléments de mise à l’échelle (zoom avant) sur le focus, la fourniture d’un comportement d’édition, etc.

Informations sur les propriétés de dépendance

Champ d’identificateur LayoutTransformProperty
Propriétés de métadonnées définies sur true AffectsMeasure

S’applique à