FrameworkElement.LayoutTransform Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia transformację grafiki, która ma być stosowana do tego elementu podczas wykonywania układu.
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
Wartość właściwości
Przekształcenie tego elementu powinno być używane. Wartość domyślna to Identity.
Przykłady
W poniższym przykładzie pokazano, jak zastosować element LayoutTransform do elementu. Przykład tworzy wystąpienie obiektu Button i hostuje je w obiekcie nadrzędnym Grid. Używa również właściwości , LayoutTransform aby zastosować RotateTransform element do elementu 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>
Uwagi
W przeciwieństwie do RenderTransformelementu LayoutTransform , będzie mieć wpływ na wyniki układu.
Ustawienie przekształcenia zapewnia zaawansowane możliwości skalowania i rotacji. LayoutTransform Ignoruje jednak operacjeTranslateTransform. Wynika to z faktu, że zachowanie systemowe układu dla elementów FrameworkElement podrzędnych elementu podrzędnego automatycznie koryguje wszelkie przesunięcia do położenia skalowanego lub obracanego elementu w układzie i układzie współrzędnych elementu nadrzędnego.
LayoutTransform może prowadzić do niskiej wydajności aplikacji, jeśli wywołasz ją w scenariuszu, który nie wymaga pełnego przekazania przez system układu. Po zastosowaniu LayoutTransform Panelelementu do Children kolekcji element wyzwala nowy przepływ przez system układu i wymusza ponowne zmierzenie i ponowne rozmieszczenie wszystkich obiektów na ekranie. W przypadku aktualizowania kompletnego interfejsu użytkownika aplikacji ta funkcja może być dokładnie tym, czego potrzebujesz. Jeśli jednak nie potrzebujesz pełnego przekazywania układu, użyj RenderTransform właściwości , która nie wywołuje systemu układów, a zatem jest zazwyczaj lepszym wyborem dla tego scenariusza.
Przykładowe scenariusze, w których LayoutTransform przydatne są: obracanie elementów, takich jak składniki menu z poziomego do pionowego lub odwrotnego, skalowanie elementów (powiększanie) fokusu, zapewnianie zachowania edycji itp.
Informacje dotyczące właściwości zależności
Pole identyfikatora | LayoutTransformProperty |
Właściwości metadanych ustawione na true |
AffectsMeasure |