FrameworkElement.LayoutTransform Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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 |