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, mit dem Pinsel in jedem Steuerelement als Hintergrund verwendet werden können. Der Standardwert ist Brush.Default
.
BackgroundColor
Die BackgroundColor
Eigenschaft ist eine Color
Eigenschaft, die die Hintergrundfarbe des Steuerelements bestimmt. Wenn dies nicht festgelegt ist, ist der Hintergrund das Standardobjekt Color
, das als transparent gerendert wird.
Behaviors
Die Behaviors
Eigenschaft ist ein List
Objekt Behavior
. Mit Verhalten 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 "Behaviors".
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. Das Rectangle
struct
enthält nützliche Eigenschaften und Methoden zum Testen der Schnittmenge und Eindämmung von Rechtecke. Weitere Informationen finden Sie in der Xamarin.Forms Rectangle-API.
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, wird angezeigt. Weitere Informationen finden Sie unter Beschneiden mit einer Geometrie.
Effects
Die Effects
Eigenschaft ist ein List
Objekt Effect
, das von der Element
Klasse geerbt wird. Effekte ermöglichen das Anpassen systemeigener Steuerelemente und werden in der Regel für kleine Formatierungsänderungen verwendet. Weitere Informationen zur Effect
Klasse finden Sie unter Xamarin.Forms Effects.
FlowDirection
Die FlowDirection
Eigenschaft ist ein FlowDirection
Enumerationswert. Die Flussrichtung kann auf MatchParent
, LeftToRight
oder RightToLeft
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 überträgt an untergeordnete Elemente, wenn sie festgelegt ist. Das Festlegen der InputTransparent
Eigenschaft auf true
eine Layoutklasse führt dazu, dass alle Elemente innerhalb des Layouts keine Eingabe empfangen.
IsEnabled
Die IsEnabled
Eigenschaft ist ein bool
Wert, der bestimmt, ob das Steuerelement auf Benutzereingaben reagiert. Der Standardwert ist 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. Wenn Sie die Focus
Methode für das Steuerelement aufrufen, wird der IsFocused
Wert auf "true" festgelegt. Durch Aufrufen der Unfocus
Methode 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 TAB-TASTE durch Steuerelemente voranschreitet. Wenn diese Eigenschaft "false" ist, hat die TabIndex
Eigenschaft keine Auswirkung.
IsVisible
Die IsVisible
Eigenschaft ist ein bool
Wert, der bestimmt, ob das Steuerelement gerendert wird. Steuerelemente mit der IsVisible
auf "false" festgelegten Eigenschaft werden nicht angezeigt, werden nicht für Raumberechnungen während des Layoutzyklus berücksichtigt und können keine Benutzereingaben akzeptieren.
MinimumHeightRequest
Die MinimumHeightRequest
Eigenschaft ist ein double
Wert, der bestimmt, wie der Überlauf behandelt wird, wenn zwei Elemente für begrenzten Platz konkurrieren. Durch Festlegen der MinimumHeightRequest
Eigenschaft kann der Layoutprozess das Element auf die angeforderte Mindestdimension skalieren. Wenn kein MinimumHeightRequest
Wert angegeben ist, lautet der Standardwert -1, und der Layoutprozess berücksichtigt den HeightRequest
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 der Überlauf behandelt wird, wenn zwei Elemente für begrenzten Platz konkurrieren. Durch Festlegen der MinimumWidthRequest
Eigenschaft kann der Layoutprozess das Element auf die angeforderte Mindestdimension skalieren. Wenn kein MinimumWidthRequest
Wert angegeben ist, lautet der Standardwert -1, und der Layoutprozess berücksichtigt den WidthRequest
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 Null 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 eingeklemmt. Die Opacity
Eigenschaft wird nur angewendet, wenn die IsVisible
Eigenschaft lautet true
. Deckkraft wird iterativ angewendet. Wenn ein übergeordnetes Steuerelement 0,5 Deckkraft aufweist und das untergeordnete Element 0,5 Deckkraft aufweist, wird das untergeordnete Steuerelement mit einem effektiven 0,25 Deckkraftwert gerendert. Das Festlegen der Opacity
Eigenschaft eines Eingabesteuerelements auf 0 hat ein nicht definiertes Verhalten.
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 sie als untergeordnetes Element eines anderen Elements hinzugefügt wird.
Resources
Die Resources
Eigenschaft ist eine ResourceDictionary
Instanz, die mit Schlüssel-Wert-Paaren aufgefüllt wird, die in der Regel zur Laufzeit aus XAML aufgefüllt werden. Mit diesem Wörterbuch können Anwendungsentwickler Objekte wiederverwenden, die sowohl zur Kompilierungszeit als auch zur Laufzeit in XAML definiert sind. 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
angegebenen Schlüssel eingefügt. sobald sie initialisiert wurde.
Weitere Informationen finden Sie unter Ressourcenwörterbücher.
Rotation
Die Rotation
Eigenschaft ist ein double
Wert zwischen Null und 360, der die Drehung um die Z-Achse in Grad definiert. Der Standardwert dieser Eigenschaft ist 0. Drehung wird relativ zu den AnchorX
Werten angewendet AnchorY
.
RotationX
Die RotationX
Eigenschaft ist ein double
Wert zwischen Null und 360, der die Drehung um die X-Achse in Grad definiert. Der Standardwert dieser Eigenschaft ist 0. Drehung wird relativ zu den AnchorX
Werten angewendet AnchorY
.
RotationY
Die RotationY
Eigenschaft ist ein double
Wert zwischen Null und 360, der die Drehung um die Y-Achse in Grad definiert. Der Standardwert dieser Eigenschaft ist 0. Drehung wird relativ zu den AnchorX
Werten angewendet AnchorY
.
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 angewendet AnchorY
.
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 Instanz der Style
Klasse. Die Style
Klasse enthält Trigger, Setter und Verhaltensweisen, die das Aussehen und 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. Die StyleClass
Eigenschaft ermöglicht das Anwenden mehrerer Formatattribute auf eine VisualElement
Instanz. Weitere Informationen finden Sie unter Xamarin.Forms Formatvorlagenklassen.
TabIndex
Die TabIndex
Eigenschaft ist ein int
Wert, der die Steuerelementreihenfolge definiert, wenn Sie mit der TAB-TASTE durch Steuerelemente navigieren. Die TabIndex
Eigenschaft ist die Implementierung für die auf der ITabStopElement
Schnittstelle definierte Eigenschaft, 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 für das 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 für das 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 die visuelle Darstellung von Steuerelementen als Reaktion auf Ereignis- oder Eigenschaftsänderungen ändern. Weitere Informationen finden Sie unter Xamarin.Forms Trigger.
Visual
Die Visual
Eigenschaft ist eine IVisual
Instanz, mit der Renderer erstellt und selektiv auf VisualElement
Instanzen angewendet werden können. Die Visual
Eigenschaft ist so festgelegt, dass sie dem übergeordneten Element entspricht, 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 seine 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 hat die folgende Signatur:
public object FindByName (string name)
Diese Methode durchsucht alle untergeordneten Elemente für das angegebene name
Argument und gibt das Element mit dem angegebenen Namen zurück. Wenn keine Übereinstimmung gefunden wird, null
wird sie 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
, ob der Tastaturfokus erfolgreich festgelegt wurde und false
wenn der Methodenaufruf keine Fokusänderung bewirkt hat. Das Element muss in der Lage sein, den Fokus zu erhalten, damit diese Methode funktioniert. Das Aufrufen der Focus
Methode für Elemente, die offscreen oder unrealisiert sind, hat ein nicht definiertes Verhalten.
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 ausgelöst, wenn die VisualElement
Instanz den Fokus erhält. Dieses Ereignis wird nicht über den Xamarin.Forms Stapel eingeblasen, es wird direkt vom systemeigenen Steuerelement empfangen. Dieses Ereignis wird vom IsFocused
Eigenschaftensatzer ausgegeben.
SizeChanged
Das SizeChanged
Ereignis wird ausgelöst, wenn sich die VisualElement
Instanz 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 die VisualElement
Instanz den Fokus verliert. Dieses Ereignis wird nicht über den Xamarin.Forms Stapel eingeblasen, es wird direkt vom systemeigenen Steuerelement empfangen. Dieses Ereignis wird vom IsFocused
Eigenschaftensatzer 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 auf allen Geräten und Plattformen 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. Kann beispielsweise auf 150 festgelegt werden, HeightRequest
aber wenn das Layout nur Platz für 100 Einheiten zulässt, ist das Rendern Height
des Steuerelements nur 100. Die gerenderte Größe wird durch verfügbaren Speicherplatz und enthaltene Komponenten beeinflusst.
Mindestanforderungseigenschaften
Die Mindestanforderungseigenschaften umfassen MinimumHeightRequest
und enthalten und MinimumWidthRequest
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 Mindesteigenschaftswerte
Wenn kein Minimalwert festgelegt ist, wird standardmäßig die Mindesteigenschaft auf -1 festgelegt. Der Layoutprozess ignoriert diesen Wert und berücksichtigt den absoluten Wert als Minimum. Die praktische Folge dieses Verhaltens ist, dass ein Element ohne angegebenen Minimalwert nicht verkleinern wird. Ein Element mit einem angegebenen Minimalwert 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
Instanz fordert eine Breite von 500 an und gibt keine Mindestbreite an. Die zweite BoxView
Instanz fordert eine Breite von 500 und eine Mindestbreite von 250 an. Wenn das übergeordnete StackLayout
Element nicht breit genug ist, um beide Komponenten in der angeforderten Breite zu enthalten, wird die erste BoxView
Instanz vom Layoutprozess berücksichtigt, um eine Mindestbreite von 500 zu haben, da kein anderes gültiges Minimum angegeben ist. Die zweite BoxView
Instanz darf auf 250 skaliert werden und wird verkleinern, bis die Breite 250 Einheiten erreicht.
Wenn das gewünschte Verhalten für die erste BoxView
Instanz vorgesehen ist, um eine Abwärtsskalierung ohne Mindestbreite durchzuführen, muss der MinimumWidthRequest
Wert auf 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 sie beispielsweise WidthRequest
auf 100 festgelegt ist, sollte die MinimumWidthRequest
Eigenschaft niemals 100 überschreiten. Wenn Sie einen Minimaleigenschaftswert 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 MinimumWidthRequest
oder MinimumHeightRequest
innerhalb eines Grid
Layouts hat keine Auswirkung. Weitere Informationen finden Sie unter Xamarin.Forms "Grid".