Xamarin Community Toolkit ImpliedOrderGridBehavior
Mit dem ImpliedOrderGridBehavior können Sie einer Ansicht basierend auf der Reihenfolge, in der die Ansicht hinzugefügt Grid
wird, automatisch eine Grid
Zeile und Spalte zuweisen. Sie müssen nur die Zeilen- und Spaltendefinitionen einrichten und dann untergeordnete Elemente zum Raster hinzufügen. Beim Zuweisen RowSpan
einer Zeile und Spalte zu einer Ansicht werden möglicherweise weiterhin Ansichten und ColumnSpan
deren Werte berücksichtigt. Wenn eine Ansicht einen benutzerdefinierten Zeilen- oder Spaltenwert aufweist, wird er berücksichtigt.
Protokollierung und Ausnahmen
Standardmäßig protokolliert das Verhalten Warnungen für die folgenden Bedingungen:
- Die Anzahl der untergeordneten Elemente, die dem Raster hinzugefügt wurden, überschreitet die Anzahl der verfügbaren Zellen basierend auf den Zeilen- und Spaltendefinitionen.
- Ein untergeordnetes Element mit einem ColumnSpan-Wert, der die Anzahl der Spalten überschreitet, rechts.
- Ein untergeordnetes Element mit einem RowSpan-Wert, der die Anzahl der Zeilen darunter überschreitet.
- Ein untergeordnetes Element mit einer vom Benutzer zugewiesenen Zeile und/oder Spalte wird über ein bereits platziertes untergeordnetes Element platziert.
Hinweis
Sie können optional die Eigenschaft true
auf festlegen, auf die ThrowOnLayoutWarning
Ausnahmen anstelle von Warnungen ausgegeben werden.
Syntax
<Grid x:Name="TestGrid" Margin="30" BackgroundColor="Gray">
<Grid.Behaviors>
<autoLayoutGrid:ImpliedOrderGridBehavior />
</Grid.Behaviors>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid .ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<!-- Row 0 -->
<autoLayoutGrid:TestLabel Grid .RowSpan="2"/>
<autoLayoutGrid:TestLabel />
<autoLayoutGrid:TestLabel />
<autoLayoutGrid:TestLabel Grid .ColumnSpan="2"/>
<!-- Row 1 -->
<autoLayoutGrid:TestLabel/>
<autoLayoutGrid:TestLabel />
<autoLayoutGrid:TestLabel Grid .ColumnSpan="2"
Grid .RowSpan="2" />
<!-- Row 2 -->
<autoLayoutGrid:TestLabel />
<autoLayoutGrid:TestLabel />
<autoLayoutGrid:TestLabel />
<!-- Row 3 -->
<autoLayoutGrid:TestLabel />
</Grid >
Eigenschaften
Eigenschaft | Typ | BESCHREIBUNG |
---|---|---|
ThrowOnLayoutWarning | bool | Wenn true-Warnungen eine Ausnahme auslösen, anstatt protokolliert zu werden. Der Standardwert ist „false“. |
Beispiel
Sie können dies in Aktion in der Xamarin Community Toolkit-Beispiel-App sehen.