FrameworkElement.LayoutTransform Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een grafische transformatie op die moet worden toegepast op dit element wanneer de indeling wordt uitgevoerd.
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
Waarde van eigenschap
De transformatie die dit element moet gebruiken. De standaardwaarde is Identity.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een LayoutTransform element toepast op een element. In het voorbeeld wordt een exemplaar gemaakt van Button en gehost binnen een bovenliggende Gridinstantie. Ook wordt de LayoutTransform eigenschap gebruikt om een RotateTransform op de 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>
Opmerkingen
In tegenstelling tot RenderTransform, LayoutTransform heeft dit invloed op de resultaten van de indeling.
Het instellen van een transformatie biedt krachtige mogelijkheden voor schalen en draaien. LayoutTransform Negeert echter bewerkingenTranslateTransform. Dit komt doordat het gedrag van het indelingssysteem voor onderliggende elementen van een FrameworkElement automatisch corrigerende verschuivingen naar de positie van een geschaald of gedraaid element in de indeling en het coƶrdinaatsysteem van het bovenliggende element corrigeert.
LayoutTransform kan leiden tot slechte toepassingsprestaties als u deze aanroept in een scenario waarvoor het indelingssysteem niet volledig hoeft te worden doorgegeven. Wanneer u een LayoutTransform op de verzameling van de ChildrenPaneltoepassing toepast, wordt er een nieuwe pass door het lay-outsysteem geactiveerd en worden alle objecten op het scherm opnieuw gemeten en opnieuw gerangschikt. Als u de volledige gebruikersinterface (UI) van de toepassing bijwerkt, is deze functionaliteit mogelijk precies wat u nodig hebt. Als u echter geen volledige indelingspas nodig hebt, gebruikt u de RenderTransform eigenschap, die het indelingssysteem niet aanroept, en daarom is dit meestal een betere keuze voor dit scenario.
Voorbeeldscenario's waarbij LayoutTransform dit handig zou zijn: draaiende elementen, zoals menuonderdelen van horizontaal naar verticaal of omgekeerd, het schalen van elementen (inzoomen) op focus, het bieden van bewerkingsgedrag, enzovoort.
Informatie over afhankelijkheidseigenschappen
| Item | Waarde |
|---|---|
| Id-veld | LayoutTransformProperty |
Eigenschappen van metagegevens ingesteld op true |
AffectsMeasure |