Xamarin Community Toolkit ImpliedOrderGridBehavior

Mit dem ImpliedOrderGridBehavior können Sie einer Ansicht basierend auf der Reihenfolge, in der die Ansicht hinzugefügt Gridwird, 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 trueauf 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 >

Beispiellayoutbild.

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.

API