Partager via


FrameworkElement.LayoutTransform Propriété

Définition

Obtient ou définit une transformation graphique qui doit s’appliquer à cet élément lorsque 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é

La 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 des fonctionnalités puissantes de mise à l’échelle et de rotation. Toutefois, LayoutTransform ignore les TranslateTransform opérations. Cela est dû au fait que le comportement du système de disposition pour les éléments enfants d’une FrameworkElement correction automatique des décalages vers la position d’un élément mis à l’échelle ou pivoté dans la disposition et le système 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 une passe complète par le système de disposition. Lorsque vous appliquez un LayoutTransform à la Children collection du , il déclenche une nouvelle passe par le système de Paneldisposition et force tous les objets visuels à redimensionné et réorganisé. 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 LayoutTransform où 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, en fournissant un comportement d’édition, etc.

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

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

S’applique à