FrameworkElement.LayoutTransform Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define uma transformação gráfica que deve ser aplicada a esse elemento quando o layout é executado.
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
Valor da propriedade
A transformação que esse elemento deve usar. O padrão é Identity.
Exemplos
O exemplo a seguir mostra como aplicar um a um LayoutTransform elemento . O exemplo cria uma instância de Button e a hospeda em um pai Grid. Ele também usa a LayoutTransform propriedade para aplicar um RotateTransform ao 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>
Comentários
Ao contrário RenderTransformde , LayoutTransform afetará os resultados do layout.
Definir uma transformação fornece funcionalidades avançadas 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 corrige automaticamente os deslocamentos para a posição de um elemento escalado ou girado no sistema de layout e coordenadas do elemento pai.
LayoutTransform pode levar a um desempenho ruim do aplicativo se você invocá-lo em um cenário que não requer uma passagem completa pelo sistema de layout. Quando você aplica um LayoutTransform à Children coleção do Panel, ele dispara uma nova passagem pelo sistema de layout e força todos os objetos na tela a serem remendados e reorganizados. Se você estiver atualizando a interface do usuário do aplicativo completa, essa funcionalidade pode ser exatamente o que você precisa. No entanto, se você não precisar de um passe de layout completo, use a RenderTransform propriedade , que não invoca o sistema de layout e, portanto, normalmente é uma opção melhor para esse cenário.
Cenários de exemplo em LayoutTransform que seriam úteis incluem: girar elementos como componentes de menu de horizontal para vertical ou vice-versa, dimensionar elementos (ampliar) em foco, fornecer comportamento de edição etc.
Informações da propriedade de dependência
Campo Identificador | LayoutTransformProperty |
Propriedades de metadados definidas como true |
AffectsMeasure |