LayoutTransformer
Stellt ein Steuerelement dar, das eine Layout-Transformation auf seinen Inhalt anwendet.
Erbt von: ContentControl
Konstruktoren
public LayoutTransformer()
layoutTransformer = LayoutTransformer()
Initialisiert eine neue Instanz der LayoutTransformer Klasse.
Eigenschaften
private FrameworkElement Child { get; }
value = layoutTransformer.Child
Das Kind wird transformiert.
public Transform LayoutTransform { get; set; }
value = layoutTransformer.LayoutTransform
layoutTransformer.LayoutTransform = value
Bekommt oder legt die Layout-Transformation auf den LayoutTransformer Steuerinhalt an.
Methoden
public void ApplyLayoutTransform()
layoutTransformer.ApplyLayoutTransform()
Wendet die Layout-Transformation auf den LayoutTransformer @ Steuerinhalt an.
protected override Size ArrangeOverride(Size finalSize)
result = layoutTransformer.ArrangeOverride(finalSize)
Gibt das Verhalten für den "Arrangieren"-Layout-Pass an.
- finalSize
- Der letzte Bereich innerhalb des Elternteils, den dieses Element verwenden sollte, um sich und seine Kinder zu arrangieren.
Rückgabe: Die tatsächliche verwendete Größe.
private Size ComputeLargestTransformedSize(Size arrangeBounds)
result = layoutTransformer.ComputeLargestTransformedSize(arrangeBounds)
Berechnen Sie die größte nutzbare Größe (größte Fläche) nach Anwendung der Transformation auf die angegebenen Grenzen.
- arrangeBounds
- Grenzen festlegen.
Rückgabe: Größte mögliche Größe.
private static void DiagnosticWriteLine(string message)
LayoutTransformer.DiagnosticWriteLine(message)
Gibt diagnostische Informationen aus, wenn DIAGNOSTICWRITELINE definiert ist.
- message
- Diagnosemeldung.
private Matrix GetTransformMatrix(Transform transform)
result = layoutTransformer.GetTransformMatrix(transform)
Geht die Transformation(Gruppe) und gibt die entsprechende Matrix zurück.
- transform
- Transform(Group) to Walk.
Rückgabe: Computed Matrix.
private static bool IsSizeSmaller(Size a, Size b)
result = LayoutTransformer.IsSizeSmaller(a, b)
Gibt true zurück, wenn Größe a in beiden Dimensionen kleiner als Größe b ist.
- a
- Zweite Größe.
- b
- Erste Größe.
Rückgabe: Wahr, wenn Größe a in beiden Dimensionen kleiner als Größe b ist.
private static void LayoutTransformChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
LayoutTransformer.LayoutTransformChanged(o, e)
Behandelt Änderungen an Transform DependencyProperty.
- o
- Quelle der Änderung.
- e
- Event args.
private static bool MatrixHasInverse(Matrix matrix)
result = LayoutTransformer.MatrixHasInverse(matrix)
Implementiert WPFs Matrix.HasInverse auf Silverlight.
- matrix
- Matrix für inverse zu überprüfen.
Rückgabe: Stimmt, wenn die Matrix eine Umkehrung hat.
private static Matrix MatrixMultiply(Matrix matrix1, Matrix matrix2)
result = LayoutTransformer.MatrixMultiply(matrix1, matrix2)
Implementiert WPFs Matrix.Multiply auf Silverlight.
- matrix1
- Erste Matrix.
- matrix2
- zweite Matrix.
Rückgabe: Multiplikationsergebnis.
protected override Size MeasureOverride(Size availableSize)
result = layoutTransformer.MeasureOverride(availableSize)
Gibt das Verhalten für den "Measure"-Layout-Pass an.
- availableSize
- Die verfügbare Größe, die dieses Element den Kindelementen geben kann.
Rückgabe: Die Größe, die dieses Element während des Layouts bestimmt, basierend auf seinen Berechnungen der Größen der untergeordneten Elemente.
public override void OnApplyTemplate()
layoutTransformer.OnApplyTemplate()
Erstellt den visuellen Baum für das LayoutTransformer @ Steuerelement, wenn eine neue Vorlage angewendet wird.
private void ProcessTransform(Transform transform)
layoutTransformer.ProcessTransform(transform)
Verarbeitet die Transformation, um die entsprechende Matrix zu bestimmen.
- transform
- Transformation in Prozess.
private static Rect RectTransform(Rect rect, Matrix matrix)
result = LayoutTransformer.RectTransform(rect, matrix)
Implementiert WPFs Rect.Transform auf Silverlight.
- rect
- Rekt zu transformieren.
- matrix
- Matrix zu transformieren mit.
Rückgabe: Bounding Box von transformierten Rect.
private static Matrix RoundMatrix(Matrix matrix, int decimals)
result = LayoutTransformer.RoundMatrix(matrix, decimals)
Rundet die nicht-offset-Elemente einer Matrix, um Probleme aufgrund von Gleitkomma-Ungenauigkeiten zu vermeiden.
- matrix
- Matrix zu runden.
- decimals
- Anzahl der Dezimalstellen, auf die gerundet werden soll.
Rückgabe: abgerundete Matrix.
Felder
private const double AcceptableDelta
value = LayoutTransformer.AcceptableDelta
Akzeptabler Unterschied zwischen zwei Doppeln.
private const int DecimalsAfterRound
value = LayoutTransformer.DecimalsAfterRound
Anzahl der Dezimalstellen, auf die die Matrix gerundet werden soll.
public static readonly DependencyProperty LayoutTransformProperty
value = LayoutTransformer.LayoutTransformProperty
Identifiziert die LayoutTransform DependencyProperty.
private const string PresenterName
value = LayoutTransformer.PresenterName
Name des Presenter Template Parts.
private const string TransformRootName
value = LayoutTransformer.TransformRootName
Name des TransformRoot Template-Teils.
private Size _childActualSize
value = layoutTransformer._childActualSize
Aktual DesiredSize des Child-Elements (der Wert, den es von seiner MeasureOverride -Methode zurückgegeben hat).
private ContentPresenter _contentPresenter
value = layoutTransformer._contentPresenter
ContentPresenter Element zum Anzeigen des Inhalts.
private MatrixTransform _matrixTransform
value = layoutTransformer._matrixTransform
RenderTransform/MatrixTransform angewendet auf _transformRoot.
private Matrix _transformation
value = layoutTransformer._transformation
Transformationsmatrix entsprechend _matrixTransform.
private Panel _transformRoot
value = layoutTransformer._transformRoot
Wurzelelement zur Durchführung von Transformationen.