FrameworkElement.LayoutTransform Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
La trasformazione che deve essere utilizzata da questo elemento. Il valore predefinito è Identity.
Esempio
Nell'esempio seguente viene illustrato come applicare un LayoutTransform oggetto a un elemento . L'esempio crea un'istanza di e la ospita all'interno di Button un elemento padre Grid. Usa inoltre 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
A differenza di RenderTransform, LayoutTransform influirà sui risultati del layout.
L'impostazione di una trasformazione offre potenti funzionalità di ridimensionamento e rotazione. Tuttavia, LayoutTransform ignora le TranslateTransform operazioni. Questo perché il comportamento del sistema di layout per gli elementi figlio di un oggetto FrameworkElement 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 scarse dell'applicazione se la si richiama in uno scenario che non richiede un passaggio completo dal sistema di layout. Quando si applica un oggetto LayoutTransform all'insieme Children di Panel, attiva un nuovo passaggio dal sistema di layout e impone 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 pertanto, è in genere una scelta migliore per questo scenario.
Gli scenari di esempio in cui LayoutTransform sarebbe utile includono: rotazione di elementi come componenti di menu da orizzontale a verticale o viceversa, elementi di ridimensionamento (zoom avanti) sullo stato attivo, fornendo un comportamento di modifica e così via.
Informazioni sulle proprietà di dipendenza
| Elemento | Valore |
|---|---|
| Campo Identificatore | LayoutTransformProperty |
Proprietà dei metadati impostate su true |
AffectsMeasure |