Xamarin.Forms Allgemeine Steuerelementeigenschaften, Methoden und Ereignisse

Die Xamarin.FormsVisualElement -Klasse ist die Basisklasse für die meisten steuerelemente, die in einer Xamarin.Forms Anwendung verwendet werden. Die VisualElement -Klasse definiert viele Eigenschaften, Methoden und Ereignisse , die zum Ableiten von Klassen verwendet werden.

Eigenschaften

Die folgenden Eigenschaften sind für VisualElement -Objekte verfügbar.

AnchorX

Die AnchorX -Eigenschaft ist ein double Wert, der den Mittelpunkt auf der X-Achse für Transformationen wie Skalierung und Drehung definiert. Der Standardwert ist 0,5.

AnchorY

Die AnchorY -Eigenschaft ist ein double Wert, der den Mittelpunkt auf der Y-Achse für Transformationen wie Skalierung und Drehung definiert. Der Standardwert ist 0,5.

Background

Die Background -Eigenschaft ist ein Brush Wert, der die Verwendung von Pinsel als Hintergrund in einem beliebigen Steuerelement ermöglicht. Standardwert: Brush.Default.

BackgroundColor

Die BackgroundColor -Eigenschaft ist eine Color , die die Hintergrundfarbe des Steuerelements bestimmt. Wenn nicht festgelegt, ist der Hintergrund das Standardobjekt Color , das als transparent gerendert wird.

Behaviors

Die Behaviors -Eigenschaft ist eine List von Behavior -Objekten. Mit Verhaltensweisen können Sie wiederverwendbare Funktionen an Elemente anfügen, indem Sie sie der Behaviors Liste hinzufügen. Weitere Informationen zur Behavior -Klasse finden Sie unter Xamarin.Forms Verhalten.

Bounds

Die Bounds -Eigenschaft ist ein schreibgeschütztes Rectangle Objekt, das den vom Steuerelement belegten Platz darstellt. Der Bounds Eigenschaftswert wird während des Layoutzyklus zugewiesen. Enthält Rectanglestruct nützliche Eigenschaften und Methoden zum Testen von Schnittmengen und Eindämmungen von Rechtecken. Weitere Informationen finden Sie unter Rectangle-APIXamarin.Forms.

Clip

Die Clip -Eigenschaft ist ein Geometry -Objekt, das die Gliederung des Inhalts eines Elements definiert. Verwenden Sie zum Definieren eines Clips ein Geometry -Objekt, z EllipseGeometry . B. zum Festlegen der -Eigenschaft des Clip Elements. Nur der Bereich, der sich innerhalb des Bereichs der Geometrie befindet, ist sichtbar. Weitere Informationen finden Sie unter Beschneiden mit einer Geometrie.

Effects

Die Effects -Eigenschaft ist eine List von Effect -Objekten, die von der Element -Klasse geerbt werden. Effekte ermöglichen das Anpassen nativer Steuerelemente und werden in der Regel für kleine Formatierungsänderungen verwendet. Weitere Informationen zur Effect -Klasse finden Sie unter Xamarin.Forms Effekte.

FlowDirection

Die FlowDirection -Eigenschaft ist ein FlowDirection Enumerationswert. Die Flussrichtung kann auf MatchParent, LeftToRightoder RightToLeft festgelegt werden und bestimmt die Layoutreihenfolge und -richtung. Die FlowDirection -Eigenschaft wird in der Regel verwendet, um Sprachen zu unterstützen, die von rechts nach links gelesen werden.

Height

Die Height -Eigenschaft ist ein schreibgeschützter double Wert, der die gerenderte Höhe des Steuerelements beschreibt. Die Height -Eigenschaft wird während des Layoutzyklus berechnet und kann nicht direkt festgelegt werden. Die Höhe eines Steuerelements kann mithilfe der HeightRequest-Eigenschaft angefordert werden.

HeightRequest

Die HeightRequest -Eigenschaft ist ein double Wert, der die gewünschte Höhe des Steuerelements bestimmt. Die absolute Höhe des Steuerelements entspricht möglicherweise nicht dem angeforderten Wert. Weitere Informationen finden Sie unter Anforderungseigenschaften.

InputTransparent

Die InputTransparent -Eigenschaft ist eine bool , die bestimmt, ob das Steuerelement Benutzereingaben empfängt. Der Standardwert ist false, um sicherzustellen, dass das Element Eingaben empfängt. Diese Eigenschaft wird an untergeordnete Elemente übertragen, wenn sie festgelegt ist. Das Festlegen der InputTransparent -Eigenschaft auf true für eine Layoutklasse führt dazu, dass alle Elemente innerhalb des Layouts keine Eingaben empfangen.

IsEnabled

Die IsEnabled -Eigenschaft ist ein bool Wert, der bestimmt, ob das Steuerelement auf Benutzereingaben reagiert. Standardwert: true. Wenn Sie diese Eigenschaft auf false festlegen, wird verhindert, dass das Steuerelement Benutzereingaben akzeptiert.

IsFocused

Die IsFocused -Eigenschaft ist ein bool Wert, der beschreibt, ob das Steuerelement derzeit das fokussierte Objekt ist. Das Aufrufen der Focus -Methode für das Steuerelement führt dazu, dass der IsFocused Wert auf true festgelegt wird. Wenn Sie die Unfocus -Methode aufrufen, wird diese Eigenschaft auf false festgelegt.

IsTabStop

Die IsTabStop -Eigenschaft ist ein bool Wert, der definiert, ob das Steuerelement den Fokus erhält, wenn der Benutzer mit der Tabulatortaste durch Steuerelemente vorfährt. Wenn diese Eigenschaft false ist, hat die TabIndex Eigenschaft keine Auswirkungen.

IsVisible

Die IsVisible -Eigenschaft ist ein bool Wert, der bestimmt, ob das Steuerelement gerendert wird. Steuerelemente, deren IsVisible Eigenschaft auf false festgelegt ist, werden nicht angezeigt, werden während des Layoutzyklus nicht für Raumberechnungen berücksichtigt und können keine Benutzereingaben akzeptieren.

MinimumHeightRequest

Die MinimumHeightRequest -Eigenschaft ist ein double Wert, der bestimmt, wie ein Überlauf behandelt wird, wenn zwei Elemente um begrenzten Platz konkurrieren. Durch Festlegen der MinimumHeightRequest -Eigenschaft kann der Layoutprozess das Element auf die angeforderte Mindestdimension herunterskalieren. Wenn nein MinimumHeightRequest angegeben ist, ist der Standardwert -1, und der Layoutprozess betrachtet den HeightRequest als Minimalwert. Dies bedeutet, dass Elemente ohne MinimumHeightRequest Wert keine skalierbare Höhe aufweisen.

Weitere Informationen finden Sie unter Mindestanforderungseigenschaften.

MinimumWidthRequest

Die MinimumWidthRequest -Eigenschaft ist ein double Wert, der bestimmt, wie ein Überlauf behandelt wird, wenn zwei Elemente um begrenzten Platz konkurrieren. Durch Festlegen der MinimumWidthRequest -Eigenschaft kann der Layoutprozess das Element auf die angeforderte Mindestdimension herunterskalieren. Wenn nein MinimumWidthRequest angegeben ist, ist der Standardwert -1, und der Layoutprozess betrachtet den WidthRequest als Minimalwert. Dies bedeutet, dass Elemente ohne MinimumWidthRequest Wert keine skalierbare Breite aufweisen.

Weitere Informationen finden Sie unter Mindestanforderungseigenschaften.

Opacity

Die Opacity -Eigenschaft ist ein double Wert von 0 bis 1, der die Deckkraft des Steuerelements während des Renderings bestimmt. Der Standardwert für diese Eigenschaft ist 1,0. Werte außerhalb des Bereichs von 0 bis 1 werden eingespannt. Die Opacity -Eigenschaft wird nur angewendet, wenn die IsVisible -Eigenschaft ist true. Deckkraft wird iterativ angewendet. Wenn ein übergeordnetes Steuerelement also über eine Deckkraft von 0,5 und sein untergeordnetes Steuerelement über eine Deckkraft von 0,5 verfügt, wird das untergeordnete Steuerelement mit einem effektiven Deckkraftwert von 0,25 gerendert. Das Festlegen der Opacity -Eigenschaft eines Eingabesteuerelements auf 0 weist ein undefiniertes Verhalten auf.

Parent

Die Parent-Eigenschaft wird von der Element-Klasse geerbt. Diese Eigenschaft ist ein Element Objekt, das das übergeordnete Steuerelement ist. Die Parent -Eigenschaft wird in der Regel automatisch für ein Element festgelegt, wenn es als untergeordnetes Element eines anderen Elements hinzugefügt wird.

Resources

Die Resources -Eigenschaft ist eine ResourceDictionary instance, die mit Schlüssel-Wert-Paaren aufgefüllt wird, die normalerweise zur Laufzeit von XAML aufgefüllt werden. Mit diesem Wörterbuch können Anwendungsentwickler objekte, die in XAML definiert sind, sowohl zur Kompilierzeit als auch zur Laufzeit wiederverwenden. Die Schlüssel im Wörterbuch werden aus dem x:Key Attribut des XAML-Tags aufgefüllt. Das aus XAML erstellte Objekt wird in den ResourceDictionary für den angegebenen Schlüssel eingefügt. nach der Initialisierung.

Weitere Informationen finden Sie unter Ressourcenwörterbücher.

Rotation

Die Rotation -Eigenschaft ist ein double Wert zwischen 0 und 360, der die Drehung um die Z-Achse in Grad definiert. Der Standardwert dieser Eigenschaft ist 0. Die Drehung wird relativ zu den AnchorX Werten und AnchorY angewendet.

RotationX

Die RotationX -Eigenschaft ist ein double Wert zwischen 0 und 360, der die Drehung um die X-Achse in Grad definiert. Der Standardwert dieser Eigenschaft ist 0. Die Drehung wird relativ zu den AnchorX Werten und AnchorY angewendet.

RotationY

Die RotationY -Eigenschaft ist ein double Wert zwischen 0 und 360, der die Drehung um die Y-Achse in Grad definiert. Der Standardwert dieser Eigenschaft ist 0. Die Drehung wird relativ zu den AnchorX Werten und AnchorY angewendet.

Scale

Die Scale -Eigenschaft ist ein double Wert, der die Skalierung des Steuerelements definiert. Der Standardwert dieser Eigenschaft ist 1,0. Die Skalierung wird relativ zu den AnchorX Werten und AnchorY angewendet.

ScaleX

Die ScaleX -Eigenschaft ist ein double Wert, der die Skalierung des Steuerelements entlang der X-Achse definiert. Der Standardwert dieser Eigenschaft ist 1,0. Die ScaleX -Eigenschaft wird relativ zum AnchorX Wert angewendet.

ScaleY

Die ScaleY -Eigenschaft ist ein double Wert, der die Skalierung des Steuerelements entlang der Y-Achse definiert. Der Standardwert dieser Eigenschaft ist 1,0. Die ScaleY -Eigenschaft wird relativ zum AnchorY Wert angewendet.

Style

Die Style-Eigenschaft wird von der NavigableElement-Klasse geerbt. Diese Eigenschaft ist eine instance der Style -Klasse. Die Style -Klasse enthält Trigger, Setter und Verhaltensweisen, die die Darstellung und das Verhalten visueller Elemente definieren. Weitere Informationen finden Sie unter Xamarin.Forms XAML-Formatvorlagen.

StyleClass

Die StyleClass -Eigenschaft ist eine Liste von string -Objekten, die die Namen von Style Klassen darstellen. Diese Eigenschaft wird von der NavigableElement-Klasse geerbt. Mit StyleClass der -Eigenschaft können mehrere Stilattribute auf eine VisualElement instance angewendet werden. Weitere Informationen finden Sie unter Xamarin.Forms Formatvorlagenklassen.

TabIndex

Die TabIndex -Eigenschaft ist ein int Wert, der die Steuerungsreihenfolge beim Durchlaufen von Steuerelementen mit der Tabulatortaste definiert. Die TabIndex -Eigenschaft ist die Implementierung für die -Eigenschaft, die auf der ITabStopElement -Schnittstelle definiert ist, die von der VisualElement -Klasse implementiert wird.

TranslationX

Die TranslationX -Eigenschaft ist ein double Wert, der die Deltaübersetzung definiert, die auf die X-Achse angewendet werden soll. Die Übersetzung wird nach dem Layout angewendet und in der Regel zum Anwenden von Animationen verwendet. Das Übersetzen eines Elements außerhalb der Grenzen des übergeordneten Containers kann verhindern, dass Eingaben funktionieren.

Weitere Informationen finden Sie unter Animation in Xamarin.Forms.

TranslationY

Die TranslationY -Eigenschaft ist ein double Wert, der die Deltaübersetzung definiert, die auf die Y-Achse angewendet werden soll. Die Übersetzung wird nach dem Layout angewendet und in der Regel zum Anwenden von Animationen verwendet. Das Übersetzen eines Elements außerhalb der Grenzen des übergeordneten Containers kann verhindern, dass Eingaben funktionieren.

Weitere Informationen finden Sie unter Animation in Xamarin.Forms.

Triggers

Die Triggers -Eigenschaft ist schreibgeschützt List von TriggerBase -Objekten. Mit Triggern können Anwendungsentwickler Aktionen in XAML ausdrücken, die das visuelle Erscheinungsbild von Steuerelementen als Reaktion auf Ereignis- oder Eigenschaftsänderungen ändern. Weitere Informationen finden Sie unter Xamarin.Forms Trigger.

Visual

Die Visual -Eigenschaft ist ein IVisual instance, mit dem Renderer erstellt und selektiv auf VisualElement Instanzen angewendet werden können. Die Visual -Eigenschaft wird so festgelegt, dass sie mit ihrem übergeordneten Element übereinstimmt, sodass das Definieren eines Renderers für eine Komponente auch für alle untergeordneten Elemente dieser Komponente gilt. Wenn kein benutzerdefinierter Renderer für ein Steuerelement oder dessen Vorgänger festgelegt ist, wird der Standardrenderer Xamarin.Forms verwendet. Weitere Informationen finden Sie unter Xamarin.Forms Visual.

Width

Die Width -Eigenschaft ist ein schreibgeschützter double Wert, der die gerenderte Breite des Steuerelements beschreibt. Die Width -Eigenschaft wird während des Layoutzyklus berechnet und kann nicht direkt festgelegt werden. Die Breite eines Steuerelements kann mithilfe der WidthRequest-Eigenschaft angefordert werden.

WidthRequest

Die WidthRequest -Eigenschaft ist ein double Wert, der die gewünschte Breite des Steuerelements bestimmt. Die absolute Breite des Steuerelements entspricht möglicherweise nicht dem angeforderten Wert. Weitere Informationen finden Sie unter Anforderungseigenschaften.

X

Die X -Eigenschaft ist ein schreibgeschützter Wert, der die aktuelle X-Position double des Steuerelements beschreibt.

Y

Die Y -Eigenschaft ist ein schreibgeschützter Wert, der die aktuelle Y-Position double des Steuerelements beschreibt.

Methoden

Die folgenden Methoden sind für die VisualElement -Klasse verfügbar. Eine vollständige Liste finden Sie unter VisualElement-API-Methoden.

FindByName

Die FindByName -Methode wird von der Element -Klasse geerbt und weist die folgende Signatur auf:

public object FindByName (string name)

Diese Methode durchsucht alle untergeordneten Elemente nach dem angegebenen name Argument und gibt das Element mit dem angegebenen Namen zurück. Wenn keine Übereinstimmung gefunden wird, wird null zurückgegeben.

Focus

Die Focus -Methode versucht, den Fokus auf das Element festzulegen. Diese Methode hat die folgende Signatur:

public bool Focus ()

Die Focus -Methode gibt zurück true , wenn der Tastaturfokus erfolgreich festgelegt wurde und false wenn der Methodenaufruf nicht zu einer Änderung des Fokus führte. Das Element muss in der Lage sein, den Fokus zu erhalten, damit diese Methode funktioniert. Das Aufrufen der Focus -Methode für Elemente, die sich außerhalb des Bildschirms befinden oder nicht realisiert wurden, weist ein undefiniertes Verhalten auf.

Unfocus

Die Unfocus -Methode versucht, den Fokus auf das Element zu entfernen. Diese Methode hat die folgende Signatur:

public void Unfocus ()

Das Element muss bereits den Fokus haben, damit diese Methode funktioniert.

Ereignisse

Die folgenden Ereignisse sind für die VisualElement -Klasse verfügbar. Eine vollständige Liste finden Sie unter Xamarin.Forms VisualElement-Ereignisse.

Focused

Das Focused Ereignis wird immer dann ausgelöst, wenn der VisualElement instance den Fokus erhält. Dieses Ereignis wird nicht durch den Xamarin.Forms Stapel eingeblasen, es wird direkt vom nativen Steuerelement empfangen. Dieses Ereignis wird vom IsFocused Eigenschaftensetter ausgegeben.

SizeChanged

Das SizeChanged Ereignis wird ausgelöst, wenn sich die VisualElement instance Height oder Width Eigenschaften ändern. Wenn Entwickler direkt auf die Größenänderung reagieren möchten, anstatt auf das Ereignis nach der Änderung zu reagieren, sollten sie stattdessen die OnSizeAllocated virtuelle Methode implementieren.

Unfocused

Das Unfocused Ereignis wird ausgelöst, wenn der VisualElement instance den Fokus verliert. Dieses Ereignis wird nicht durch den Xamarin.Forms Stapel eingeblasen, es wird direkt vom nativen Steuerelement empfangen. Dieses Ereignis wird vom IsFocused Eigenschaftensetter ausgegeben.

Maßeinheiten

Android-, iOS- und UWP-Plattformen verfügen alle über unterschiedliche Maßeinheiten, die geräteübergreifend variieren können. Xamarin.Forms verwendet eine plattformunabhängige Maßeinheit, die Einheiten geräte- und plattformübergreifend normalisiert. Es gibt 160 Einheiten pro Zoll oder 64 Einheiten pro Zentimeter in Xamarin.Forms.

Anforderungseigenschaften

Eigenschaften, deren Namen "request" enthalten, definieren einen gewünschten Wert, der möglicherweise nicht mit dem tatsächlich gerenderten Wert übereinstimmt. Beispielsweise kann auf 150 festgelegt werden, HeightRequest aber wenn das Layout nur Platz für 100 Einheiten zulässt, ist das Gerenderte Height des Steuerelements nur 100. Die gerenderte Größe wird durch den verfügbaren Speicherplatz und die enthaltenen Komponenten beeinflusst.

Mindestanforderungseigenschaften

Mindestanforderungseigenschaften umfassen MinimumHeightRequest und MinimumWidthRequestund sollen eine präzisere Kontrolle darüber ermöglichen, wie Elemente den Überlauf relativ zueinander behandeln. Das Layoutverhalten im Zusammenhang mit diesen Eigenschaften hat jedoch einige wichtige Überlegungen.

Nicht angegebene Mindesteigenschaftenwerte

Wenn kein Mindestwert festgelegt ist, ist die Mindesteigenschaft standardmäßig auf -1 festgelegt. Der Layoutprozess ignoriert diesen Wert und betrachtet den absoluten Wert als das Minimum. Die praktische Folge dieses Verhaltens ist, dass ein Element ohne angegebenen Mindestwert nicht verkleinern wird . Ein Element mit einem angegebenen Mindestwert wird verkleinern.

Der folgende XAML-Code zeigt zwei BoxView Elemente in einer horizontalen StackLayout:

<StackLayout Orientation="Horizontal">
    <BoxView HeightRequest="100" BackgroundColor="Purple" WidthRequest="500"></BoxView>
    <BoxView HeightRequest="100" BackgroundColor="Green" WidthRequest="500" MinimumWidthRequest="250"></BoxView>
</StackLayout>

Die erste BoxView instance fordert eine Breite von 500 an und gibt keine Mindestbreite an. Die zweite BoxView instance fordert eine Breite von 500 und eine Mindestbreite von 250 an. Wenn das übergeordnete StackLayout Element nicht breit genug ist, um beide Komponenten mit der angeforderten Breite zu enthalten, wird der erste BoxView instance vom Layoutprozess als Mindestbreite von 500 betrachtet, da kein anderes gültiges Minimum angegeben wird. Der zweite BoxView instance kann auf 250 herunterskaliert werden und verkleinern, bis seine Breite 250 Einheiten erreicht.

Wenn das gewünschte Verhalten für die erste BoxView instance ohne Mindestbreite herunterskaliert wird, muss auf MinimumWidthRequest einen gültigen Wert festgelegt werden, z. B. 0.

Minimale und absolute Eigenschaftswerte

Das Verhalten ist nicht definiert, wenn der Mindestwert größer als der absolute Wert ist. Wenn WidthRequest beispielsweise auf 100 festgelegt ist, sollte die MinimumWidthRequest Eigenschaft nie 100 überschreiten. Wenn Sie einen minimalen Eigenschaftswert angeben, sollten Sie immer einen absoluten Wert angeben, um sicherzustellen, dass der absolute Wert größer als der Mindestwert ist.

Mindesteigenschaften innerhalb eines Rasters

Grid Layouts verfügen über ein eigenes System für die relative Größenanpassung von Zeilen und Spalten. Die Verwendung von MinimumWidthRequest oder MinimumHeightRequest innerhalb eines Grid Layouts hat keine Auswirkung. Weitere Informationen finden Sie unter Xamarin.Forms Raster.