Condividi tramite


FrameworkElement.LayoutTransform Proprietà

Definizione

Ottiene o imposta una trasformazione grafica che deve essere applicata a questo elemento quando viene eseguito il layout.

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

Valore della proprietà

Trasformazione che dovrà essere utilizzata da questo elemento. Il valore predefinito è Identity.

Esempio

Nell'esempio seguente viene illustrato come applicare un oggetto LayoutTransform a un elemento. Nell'esempio viene creata un'istanza di e la ospita all'interno di Button un elemento padre Grid. Usa anche la LayoutTransform proprietà per applicare un RotateTransform oggetto all'oggetto 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>

Commenti

Al contrario di RenderTransform, LayoutTransform influisce sui risultati del layout.

L'impostazione di una trasformazione offre funzionalità potenti di ridimensionamento e rotazione. Tuttavia, LayoutTransform ignora TranslateTransform le operazioni. Questo perché il comportamento del sistema di layout per gli elementi figlio di un FrameworkElement elemento figlio corregge automaticamente eventuali offset alla posizione di un elemento ridimensionato o ruotato nel layout e nel sistema di coordinate dell'elemento padre.

LayoutTransform può causare prestazioni di applicazione scarse se lo si richiama in uno scenario che non richiede un passaggio completo dal sistema di layout. Quando si applica un LayoutTransform oggetto alla Children raccolta di , attiva un nuovo passaggio dal sistema di Panellayout e forza che tutti gli oggetti sullo schermo vengano riorganizzati e riorganizzati. Se si aggiorna l'interfaccia utente dell'applicazione completa, questa funzionalità potrebbe essere esattamente quella necessaria. Tuttavia, se non è necessario un passaggio di layout completo, usare la RenderTransform proprietà, che non richiama il sistema di layout e quindi è in genere una scelta migliore per questo scenario.

Scenari di esempio in cui LayoutTransform sarebbe utile includere: elementi di rotazione, ad esempio componenti di menu da orizzontale a verticale o viceversa, elementi di ridimensionamento (zoom in avanti) sullo stato attivo, fornendo un comportamento di modifica e così via.

Informazioni proprietà di dipendenza

Campo Identificatore LayoutTransformProperty
Proprietà dei metadati impostate su true AffectsMeasure

Si applica a