Proprietà FrameworkElement.LayoutTransform (System.Windows)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Proprietà FrameworkElement.LayoutTransform
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Ottiene o imposta una trasformazione grafica da applicare a questo elemento quando viene eseguito il layout.

Spazio dei nomi:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
Sintassi

Visual Basic
Public Property LayoutTransform As Transform
	Get
	Set
C#
public Transform LayoutTransform { get; set; }
Visual C++
public:
property Transform^ LayoutTransform {
	Transform^ get ();
	void set (Transform^ value);
}
F#
member LayoutTransform : Transform with get, set

Valore proprietà

Tipo: System.Windows.Media.Transform
Trasformazione che dovrà essere utilizzata da questo elemento. Il valore predefinito è Identity.
Informazioni proprietà di dipendenza

Campo dell'identificatore

LayoutTransformProperty

Proprietà dei metadati impostate su true

AffectsMeasure

Note

A differenza di RenderTransform, LayoutTransform influirà sui risultati di layout.

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

La proprietà LayoutTransform può influire negativamente sulle prestazioni dell'applicazione se viene richiamata in uno scenario che non richiede un passaggio completo del sistema di layout. L'applicazione di una proprietà LayoutTransform all'insieme Children degli oggetti Panel attiva un nuovo passaggio del sistema di layout e forza la rimisurazione e la ridisposizione di tutti gli oggetti sullo schermo. Se si sta aggiornando l'user interface (UI) completa dell'applicazione, questa funzionalità potrebbe rispondere appieno alle proprie esigenze. Se invece non è necessario un passaggio completo del layout, utilizzare la proprietà RenderTransform, che non richiama il sistema di layout e pertanto rappresenta una soluzione più adeguata a questo scenario.

Gli scenari di esempio in cui sarebbe utile LayoutTransform includono: rotazione di elementi quali componenti di menu da orizzontale a verticale o viceversa, ridimensionando di elementi (ingrandimento) con lo stato attivo, attivazione del comportamento di modifica e così via.

Esempi

Nell'esempio seguente viene illustrato come applicare LayoutTransform a un elemento. Viene creata un'istanza di un oggetto Button che viene contenuta all'interno di un oggetto Grid padre. Viene inoltre utilizzata la proprietà LayoutTransform per applicare una classe RotateTransform all'oggetto Button.

Visual Basic


            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)



C#


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);



Visual C++


         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);



XAML


<Button Grid.Row="0" Grid.Column="1" Background="LightCoral" Content="RotateTransform Applied">
  <Button.LayoutTransform>
    <RotateTransform CenterX="25" CenterY="25" Angle="45" />
  </Button.LayoutTransform>
</Button>



Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Vedere anche

Riferimenti

Altre risorse

Cronologia delle modifiche

Data

Cronologia

Motivo

Dicembre 2010

Sono state aggiunte osservazioni sulle prestazioni.

Miglioramento delle informazioni.