Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das Expander Steuerelement stellt einen erweiterbaren Container zum Hosten von Inhalten bereit. Das Steuerelement verfügt über zwei Haupteigenschaften zum Speichern Ihrer Inhalte:
Kopfzeile
Diese Header Eigenschaft kann mit jeder Ansicht bereitgestellt werden, um die vollständige Anpassung zu ermöglichen. Das Header ist immer sichtbar, und durch Klicken oder Tippen darauf wird das Content angezeigt bzw. eingeklappt.
Note
Es wird nicht empfohlen, Steuerelemente in der Kopfzeile zu platzieren, die eine Benutzerinteraktion ermöglichen.
Content
Dies ist der Hauptinhalt, der angezeigt wird, wenn die Header Eigenschaft damit interagiert (geklickt oder getippt) oder die IsExpanded Eigenschaft geändert wird.
Note
Expander verhält sich möglicherweise unerwartet, wenn es sich in ListView oder CollectionView befindet. Sie kann jedoch mit der benutzerdefinierten Implementierung durch Festlegen public Action<TappedEventArgs>? HandleHeaderTapped { get; set; }gesteuert werden. Diese Aktion wird jedes Mal ausgeführt, wenn auf die Kopfzeile getippt wird. Achten Sie darauf, indem Sie diese Aktion ändern, erhalten Sie möglicherweise ein anderes Verhalten in CollectionView und ListView auf allen Plattformen.
Grundlegende Nutzung
Die folgenden Beispiele zeigen, wie Sie die Expander-Ansicht verwenden, indem Sie die Eigenschaft Header auf ein Steuerelement vom Typ Label und Content auf ein HorizontalStackLayout mit einem Image und einem Label darin festlegen.
XAML
Einbinden des XAML-Namespace
Um das Toolkit in XAML verwenden zu können, muss der folgende xmlns-Abschnitt zu Ihrer Seite oder Ansicht hinzugefügt werden:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Daher das Folgende:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
Würde geändert werden, um das xmlns wie folgt einzubinden:
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
Den Expander verwenden
Das folgende Beispiel zeigt, wie Sie eine Expander Ansicht in XAML hinzufügen.
<toolkit:Expander>
<toolkit:Expander.Header>
<Label Text="Baboon"
FontAttributes="Bold"
FontSize="Medium" />
</toolkit:Expander.Header>
<HorizontalStackLayout Padding="10">
<Image Source="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Papio_anubis_%28Serengeti%2C_2009%29.jpg/200px-Papio_anubis_%28Serengeti%2C_2009%29.jpg"
Aspect="AspectFill"
HeightRequest="120"
WidthRequest="120" />
<Label Text="Baboons are African and Arabian Old World monkeys belonging to the genus Papio, part of the subfamily Cercopithecinae."
FontAttributes="Italic" />
</HorizontalStackLayout>
</toolkit:Expander>
C#
Das folgende Beispiel zeigt, wie Sie eine Expander Ansicht in C# hinzufügen.
using CommunityToolkit.Maui.Views;
var expander = new Expander
{
Header = new Label
{
Text = "Baboon",
FontAttributes = FontAttributes.Bold,
FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label))
}
};
expander.Content = new HorizontalStackLayout
{
Padding = new Thickness(10),
Children =
{
new Image
{
Source = "http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Papio_anubis_%28Serengeti%2C_2009%29.jpg/200px-Papio_anubis_%28Serengeti%2C_2009%29.jpg",
Aspect = Aspect.AspectFill,
HeightRequest = 120,
WidthRequest = 120
},
new Label
{
Text = "Baboons are African and Arabian Old World monkeys belonging to the genus Papio, part of the subfamily Cercopithecinae.",
FontAttributes = FontAttributes.Italic
}
}
};
C#-Markup
using CommunityToolkit.Maui.Views;
Content = new Expander
{
Header = new Label()
.Text("Baboon")
.Font(bold: true, size: 18),
Content = new HorizontalStackLayout
{
new Image()
.Source("http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Papio_anubis_%28Serengeti%2C_2009%29.jpg/200px-Papio_anubis_%28Serengeti%2C_2009%29.jpg")
.Size(120)
.Aspect(Aspect.AspectFill),
new Label()
.Text("Baboons are African and Arabian Old World monkeys belonging to the genus Papio, part of the subfamily Cercopithecinae.")
.Font(italic: true)
}.Padding(10)
}.CenterHorizontal();
Eigenschaften
| Eigentum | Typ | Beschreibung |
|---|---|---|
Command |
ICommand |
Wird ausgeführt, wenn auf die Expander Kopfzeile getippt wird. |
CommandParameter |
object |
Der Parameter, der an Command übergeben wird. |
Direction |
ExpandDirection |
Definiert die Erweiterungsrichtung. |
Content |
IView? |
Definiert den Inhalt, der angezeigt wird, wenn Expander erweitert wird. |
Header |
IView? |
Definiert den Kopfzeileninhalt. |
IsExpanded |
bool |
Bestimmt, ob Expander erweitert ist. Diese Eigenschaft verwendet den Bindungsmodus TwoWay und hat einen Standardwert von false. |
Die ExpandDirection-Aufzählung definiert die folgenden Elemente:
| Wert | Beschreibung |
|---|---|
Down |
Gibt an, dass sich der Expander Inhalt unter der Kopfzeile befindet. |
Up |
Gibt an, dass sich der Expander Inhalt über der Kopfzeile befindet. |
Das Expander Steuerelement definiert auch ein ExpandedChanged Ereignis, das ausgelöst wird, wenn auf die Expander Kopfzeile getippt wird.
ExpandedChangedEventArgs
Ereignisargument, das den Zustand enthält ExpanderIsExpanded .
Eigenschaften
| Eigentum | Typ | Beschreibung |
|---|---|---|
| IsExpanded | bool |
Bestimmt, ob Expander erweitert ist. |
Beispiele
Sie finden ein Beispiel für dieses Feature in Aktion in der Beispielanwendung für das .NET MAUI Community Toolkit.
API
Sie finden den Quellcode für Expander im .NET MAUI Community Toolkit GitHub Repository.
.NET MAUI Community Toolkit