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í hodnota je Identity.
Příklady
Následující příklad ukazuje, jak použít LayoutTransform na element. Příklad vytvoří instanci Button a hostuje ji v nadřazené Gridobjektu . Používá také LayoutTransform vlastnost k použití RotateTransformButtonna .
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 funkce , LayoutTransform bude mít vliv na RenderTransformvýsledky rozložení.
Nastavení transformace poskytuje výkonné funkce škálování a rotace. LayoutTransform TranslateTransform Ignoruje 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 škálovaného nebo otočné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 ho vyvoláte ve scénáři, který nevyžaduje úplné předání systémem rozložení. Když použijete LayoutTransform kolekci Children objektu Panel, aktivuje nový průchod systémem rozložení a vynutí, aby se všechny objekty na obrazovce znovu zajistily a přeuspořádaly. 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ář.
Mezi 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, měřítko prvků (přiblížení) na fokus, poskytování chování při úpravách atd.
Informace o vlastnosti závislosti
| Položka | Hodnota |
|---|---|
| Pole Identifikátor | LayoutTransformProperty |
Vlastnosti metadat nastavené na true |
AffectsMeasure |