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 Rectangle
struct
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
, LeftToRight
oder 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 MinimumWidthRequest
und 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.