Freigeben über


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, LeftToRightoder 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 MinimumWidthRequestsollen 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".