Sdílet prostřednictvím


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

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

Platí pro