FrameworkElement.LayoutTransform Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe ou define uma transformação gráfica que deve aplicar-se a este 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 de Propriedade
A transformação que este elemento deve usar. A predefinição é Identity.
Exemplos
O exemplo seguinte mostra como aplicar a LayoutTransform a a um elemento. O exemplo cria uma instância de Button e hospeda-a dentro de um pai Grid. Também utiliza 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>
Observações
Em contraste com RenderTransform, LayoutTransform afetará os resultados do layout.
Definir uma transformação oferece capacidades poderosas de escalabilidade e rotação. No entanto, LayoutTransform ignora TranslateTransform as operações. Isto deve-se ao facto de o comportamento do sistema de layout para elementos filhos de um FrameworkElement corrigir automaticamente quaisquer deslocamentos para a posição de um elemento escalado ou rodado no layout e sistema de coordenadas do elemento pai.
LayoutTransform Pode levar a um desempenho fraco da aplicação se a invocar num cenário que não exija uma passagem completa pelo sistema de layout. Quando aplica a LayoutTransform à Children coleção do Panel, isso desencadeia uma nova passagem pelo sistema de layout e força todos os objetos no ecrã a serem remedidos e rearranjados. Se estiver a atualizar toda a interface de utilizador (UI) da aplicação, esta funcionalidade pode ser exatamente o que precisa. No entanto, se não precisar de um passe completo de layout, use a RenderTransform propriedade, que não invoca o sistema de layout e, por isso, é normalmente uma melhor escolha para este cenário.
Exemplos de cenários em que LayoutTransform seriam úteis incluem: rodar elementos como componentes do menu da horizontal para a vertical ou vice-versa, escalar elementos (ampliar) no foco, fornecer comportamento de edição, etc.
Informação de Propriedade de Dependência
| Número | valor |
|---|---|
| Campo identificador | LayoutTransformProperty |
Propriedades dos metadados definidas como true |
AffectsMeasure |