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à
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 |