Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Propriedade FrameworkElement.LayoutTransform

Obtém ou define uma transformação de gráficos que deve ser aplicada a esse elemento quando o layout é executado.

Namespace:  System.Windows
Assembly:  PresentationFramework (em PresentationFramework.dll)
public Transform LayoutTransform { get; set; }

Valor de propriedade

Tipo: System.Windows.Media.Transform
A transformação deve usar esse elemento. O padrão é Identity.

Campo identificador

LayoutTransformProperty

Propriedades de metadados definidas como true

AffectsMeasure

Em contraste com RenderTransform, LayoutTransform afetará os resultados do layout.

A definição de uma transformação fornece recursos poderosos de dimensionamento e rotação. No entanto, LayoutTransform ignora TranslateTransform as operações. Isso ocorre porque o comportamento do sistema de layout para elementos filho de um FrameworkElement auto-corrige qualquer deslocamento para a posição de um elemento dimensionado ou girado no layout e o sistema de coordenadas do elemento pai.

LayoutTransform pode levar a um desempenho ruim do aplicativo se você chamá-lo em um cenário que não requer uma passagem completa pelo sistema de layout. Quando você aplica um LayoutTransform à coleção Children do Panel, ele dispara uma nova passagem pelo sistema de layout e força todos os objetos na tela a serem re-medidos e reorganizados. Se você estiver atualizando a user interface (UI) completa do aplicativo, essa funcionalidade pode ser exatamente o que você precisa. No entanto, se você não precisa de uma passagem completa de layout, use a propriedade RenderTransform, que não chama o sistema de layout e portanto, é normalmente uma melhor opção para esse cenário.

Exemplos de situações onde LayoutTransform seriam úteis incluem: girar elementos como componentes do menu de horizontal para vertical ou vice-versa, escala elementos (zoom) em foco, fornecendo o comportamento de edição, etc.

O exemplo a seguir mostra como aplicar um LayoutTransform a um elemento. O exemplo cria uma instância de Button e hospeda-a em um Grid pai. O exemplo também usa a propriedade LayoutTransform para aplicar uma RotateTransform no 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

Com suporte em: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.

Data

Histórico

Razão

Dezembro de 2010

Comentários adicionados sobre o desempenho.

Aprimoramento de informações.

Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.