Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

FrameworkElement.LayoutTransform (Propiedad)

Obtiene o establece una transformación de los gráficos que se debe aplicar a este elemento cuando se realiza el diseño.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)

public Transform LayoutTransform { get; set; }

Valor de propiedad

Tipo: System.Windows.Media.Transform
Transformación que este elemento debe utilizar. El tipo predeterminado es Identity.

Campo de identificador

LayoutTransformProperty

Propiedades de metadatos establecidas en true.

AffectsMeasure

A diferencia de RenderTransform, LayoutTransform afecta a los resultados de diseño.

Al establecer una transformación, se proporcionan funciones eficaces de escala y giro. Sin embargo, LayoutTransform omite las operaciones de TranslateTransform. Esto se debe a que el comportamiento del sistema de diseño para los elementos secundarios de FrameworkElement corrige automáticamente cualquier desplazamiento a la posición de un elemento escalado o girado en el diseño y sistema de coordenadas del elemento primario.

LayoutTransform puede dar lugar a un rendimiento insuficiente de la aplicación si se invoca en un escenario en el que el sistema de diseño no exige un recorrido completo. Cuando se aplica LayoutTransform a la colección Children de Panel, desencadena un nuevo recorrido por parte del sistema de diseño y obliga a repetir la medición y organización de todos los objetos de la pantalla. Si está actualizando la user interface (UI) de la aplicación completa, esta funcionalidad podría ser exactamente lo que necesita. Sin embargo, si no necesita un recorrido completo del diseño, utilice la propiedad RenderTransform, que no invoca al sistema de diseño y, por consiguiente, suele ser una opción más acertada para este escenario.

Algunos escenarios de ejemplo donde LayoutTransform sería útil son: girar elementos como componentes de menú de horizontal a vertical o viceversa, escalar elementos (acercarlos) en el foco, proporcionar un comportamiento de edición, etc.

En el ejemplo siguiente se muestra cómo aplicar LayoutTransform a un elemento. En el ejemplo se crea una instancia de Button y se la hospeda en un control Grid primario. También se utiliza la propiedad LayoutTransform para aplicar RotateTransform al control Button.



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





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



.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

date

Historial

Motivo

Diciembre de 2010

Notas agregadas sobre rendimiento.

Mejora de la información.

Mostrar: