FrameworkElement.LayoutTransform Vlastnost

Definice

Získá nebo nastaví grafickou transformaci, která by se měla použít na tento prvek při provedení rozložení.

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

Hodnota vlastnosti

Transform

Transformovat tento prvek by měl být použit. Výchozí formát je Identity.

Příklady

Následující příklad ukazuje, jak použít u LayoutTransform elementu. Příklad vytvoří instanci Button a hostuje ji v nadřazené Grid. Používá také LayoutTransform vlastnost k použití RotateTransform na 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>

Poznámky

Na rozdíl od RenderTransformfunkce , LayoutTransform ovlivní výsledky rozložení.

Nastavení transformace poskytuje výkonné funkce škálování a otáčení. LayoutTransform Ignoruje TranslateTransform ale operace. Důvodem je to, že chování systému rozložení pro podřízené prvky FrameworkElement automatické opravuje všechny posuny na pozici měřítka nebo otočeného prvku do rozložení a souřadnicového systému nadřazeného prvku.

LayoutTransform může vést k nízkému výkonu aplikace, pokud ji vyvoláte ve scénáři, který nevyžaduje úplné předání systémem rozložení. Když použijete LayoutTransform Children pro kolekci objektu Panel, aktivuje nový průchod systémem rozložení a vynutí, aby všechny objekty na obrazovce byly přeuspořádané a přeuspořádané. Pokud aktualizujete celé uživatelské rozhraní aplikace, může být tato funkce přesně to, co potřebujete. Pokud však nepotřebujete úplné předání rozložení, použijte RenderTransform vlastnost, která nevyvolává systém rozložení, a proto je obvykle lepší volbou pro tento scénář.

Příklady scénářů, kde LayoutTransform by bylo užitečné, patří: otáčení prvků, jako jsou součásti nabídky z vodorovného na svislé nebo naopak, prvky škálování (přiblížení) na fokus, poskytování chování při úpravách atd.

Informace o vlastnosti závislosti

Pole identifikátoru LayoutTransformProperty
Vlastnosti metadat nastavené na true AffectsMeasure

Platí pro