Share via


LinedFlowLayout Klasse

Definition

Stellt ein Steuerelement dar, das Elemente sequenziell von links nach rechts und dann von oben nach unten in einem Umbruchlayout positioniert, wobei für alle Elemente die gleiche Höhe verwendet wird.

/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
/// [Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.XamlContract, 327680)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LinedFlowLayout : VirtualizingLayout
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallback(enable=true)]
[Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodName(value="OnPropertyChanged")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.XamlContract), 327680)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class LinedFlowLayout : VirtualizingLayout
Public Class LinedFlowLayout
Inherits VirtualizingLayout
Vererbung
Object IInspectable DependencyObject Layout VirtualizingLayout LinedFlowLayout
Attribute
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodNameAttribute ContractVersionAttribute MarshalingBehaviorAttribute ThreadingAttribute

Hinweise

Das LinedFlowLayout positioniert Elemente sequenziell von links nach rechts und dann von oben nach unten in einem Umbruchlayout. Verwenden Sie dieses Layout, um eine Elementauflistung anzuzeigen, in der die Elemente eine feste Höhe, aber eine variable Breite aufweisen. Es wird für bildbasierte Sammlungen empfohlen. Dieses Layout verfügt auch über integrierte Animationen, die wiedergegeben werden, wenn die Sammlung Elemente hinzugefügt oder entfernt hat und wenn die Größe der Ansicht geändert wird.

Um ein LinedFlowLayout zu verwenden, legen Sie es als Wert für die Eigenschaften ItemsView.Layout oder ItemsRepeater.Layout fest.

Hier sehen Sie ein ItemsView-Steuerelement , das eine Sammlung von Fotos in einem linienlinienigen Flusslayout anzeigt.

<ItemsView Width="500" Height="400" HorizontalAlignment="Left"
           ItemTemplate="{StaticResource LinedFlowLayoutItemTemplate}">
    <ItemsView.Layout>
        <LinedFlowLayout ItemsStretch="Fill" 
                         LineHeight="160" 
                         LineSpacing="5"
                         MinItemSpacing="5"/>
    </ItemsView.Layout>
</ItemsView>

Eine Sammlung von Fotos, die in einem liniengebundenen Flusslayout angezeigt werden, bei dem jedes Element die gleiche Höhe hat, die Breite jedoch je nach originaler Größe des Seitenverhältnisses des Fotos variiert.

LinedFlowLayout stellt Eigenschaften zur Steuerung bereit:

Konstruktoren

LinedFlowLayout()

Initialisiert eine neue instance der LinedFlowLayout-Klasse.

Eigenschaften

ActualLineHeight

Ruft eine effektive feste Höhe der Zeilen ab.

ActualLineHeightProperty

Gibt die Abhängigkeitseigenschaft ActualLineHeight an.

Dispatcher

Gibt immer in einer Windows App SDK-App zurücknull. Verwenden Sie stattdessen DispatcherQueue .

(Geerbt von DependencyObject)
DispatcherQueue

Ruft den DispatcherQueue ab, dem dieses Objekt zugeordnet ist. Stellt DispatcherQueue eine Funktion dar, die auf den DependencyObject im UI-Thread zugreifen kann, auch wenn der Code von einem Nicht-UI-Thread initiiert wird.

(Geerbt von DependencyObject)
IndexBasedLayoutOrientation

Ruft ggf. die Ausrichtung ab, in der Elemente basierend auf ihrem Index in der Quellauflistung angeordnet werden.

(Geerbt von Layout)
ItemsJustification

Ruft einen Wert ab, der angibt, wie Elemente auf der horizontalen Achse ausgerichtet werden, oder legt diesen fest.

ItemsJustificationProperty

Gibt die Abhängigkeitseigenschaft ItemsJustification an.

ItemsStretch

Ruft einen Wert ab, der angibt, wie Elemente so groß sind, dass sie den verfügbaren Speicherplatz füllen, oder legt diesen fest.

ItemsStretchProperty

Gibt die ItemsStretch-Abhängigkeitseigenschaft an.

LineHeight

Ruft die feste Höhe der Linien ab oder legt diese fest.

LineHeightProperty

Gibt die LineHeight-Abhängigkeitseigenschaft an.

LineSpacing

Ruft den vertikalen Abstand zwischen Elementen ab oder legt diese fest.

LineSpacingProperty

Identifiziert die LineSpacing-Abhängigkeitseigenschaft .

MinItemSpacing

Ruft den Mindestabstand zwischen Elementen auf der horizontalen Achse ab oder legt diese fest.

MinItemSpacingProperty

Gibt die Abhängigkeitseigenschaft MinItemSpacing an .

RequestedRangeLength

Ruft die Anzahl der Elemente ab, die derzeit Größeninformationen verwenden, die über das ItemsInfoRequested-Ereignis bereitgestellt werden .

RequestedRangeStartIndex

Ruft den kleinsten Index der Elemente ab, die derzeit Größeninformationen verwenden, die über das ItemsInfoRequested-Ereignis bereitgestellt werden . Der Wert -1 gibt an, dass keine Größeninformationen von ItemsInfoRequested verwendet werden.

Methoden

Arrange(LayoutContext, Size)

Positioniert untergeordnete Elemente und bestimmt eine Größe für ein Container UIElement. Containerelemente, die angefügte Layouts unterstützen, sollten diese Methode aus ihren Layout-Überschreibungsimplementierungen aufrufen, um ein rekursives Layoutupdate zu bilden.

(Geerbt von Layout)
ArrangeOverride(VirtualizingLayoutContext, Size)

Stellt bei Implementierung in einer abgeleiteten Klasse das Verhalten für den Layoutdurchlauf "Anordnen" bereit. Klassen können diese Methode überschreiben, um ihr eigenes Passverhalten "Arrange" zu definieren.

(Geerbt von VirtualizingLayout)
ClearValue(DependencyProperty)

Löscht den lokalen Wert einer Abhängigkeitseigenschaft.

(Geerbt von DependencyObject)
CreateDefaultItemTransitionProvider()

Stellt ein Steuerelement dar, das Elemente sequenziell von links nach rechts und dann von oben nach unten in einem Umbruchlayout positioniert, wobei für alle Elemente die gleiche Höhe verwendet wird.

(Geerbt von Layout)
GetAnimationBaseValue(DependencyProperty)

Gibt einen beliebigen Basiswert zurück, der für eine Abhängigkeitseigenschaft festgelegt wurde, was in Fällen gilt, in denen eine Animation nicht aktiv ist.

(Geerbt von DependencyObject)
GetValue(DependencyProperty)

Gibt den aktuellen effektiven Wert einer Abhängigkeitseigenschaft aus einem DependencyObject zurück.

(Geerbt von DependencyObject)
InitializeForContext(LayoutContext)

Initialisiert jeden containerspezifischen Zustand, den das Layout benötigt, wenn es an einen UIElement-Container angefügt wird.

(Geerbt von Layout)
InitializeForContextCore(VirtualizingLayoutContext)

Initialisiert beim Überschreiben in einer abgeleiteten Klasse jeden Containerzustand, den das Layout beim Anfügen an einen UIElement-Container benötigt.

(Geerbt von VirtualizingLayout)
InvalidateArrange()

Ungültig wird der Anordnungszustand (Layout) für alle UIElement-Container, die auf dieses Layout verweisen. Nach der Ungültigkeit wird das UIElement-Layout aktualisiert, was asynchron erfolgt.

(Geerbt von Layout)
InvalidateItemsInfo()

Bewirkt, dass die LinedFlowLayout elemente neu abfließen.

InvalidateMeasure()

Ungültig wird der Messzustand (Layout) für alle UIElement-Container, die auf dieses Layout verweisen.

(Geerbt von Layout)
LockItemToLine(Int32)

Ruft den Index der Zeile ab, zu der das Element mit dem bereitgestellten Index gehört. Dieses Element wird dann garantiert in der zurückgegebenen Zeile angezeigt, bis das ItemsUnlocked-Ereignis ausgelöst wird.

Measure(LayoutContext, Size)

Schlägt einen DesiredSize für ein Containerelement vor. Ein Containerelement, das angefügte Layouts unterstützt, sollte diese Methode aus eigenen MeasureOverride-Implementierungen aufrufen, um ein rekursives Layoutupdate zu bilden. Vom angefügten Layout wird erwartet, dass das Measure für jedes untergeordnete UIElement des Containers aufgerufen wird.

(Geerbt von Layout)
MeasureOverride(VirtualizingLayoutContext, Size)

Stellt das Verhalten für den Durchlauf "Measure" des Layoutzyklus bereit. Klassen können diese Methode überschreiben, um ihr eigenes Measure-Passverhalten zu definieren.

(Geerbt von VirtualizingLayout)
OnItemsChangedCore(VirtualizingLayoutContext, Object, NotifyCollectionChangedEventArgs)

Benachrichtigt das Layout, wenn sich die Dem Containerelement (ItemsSource) zugewiesene Datensammlung geändert hat.

(Geerbt von VirtualizingLayout)
ReadLocalValue(DependencyProperty)

Gibt den lokalen Wert einer Abhängigkeitseigenschaft zurück, wenn ein lokaler Wert festgelegt ist.

(Geerbt von DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registriert eine Benachrichtigungsfunktion zum Lauschen auf Änderungen an einer bestimmten DependencyProperty für dieses DependencyObject-instance.

(Geerbt von DependencyObject)
SetIndexBasedLayoutOrientation(IndexBasedLayoutOrientation)

Legt den Wert der IndexBasedLayoutOrientation-Eigenschaft fest.

(Geerbt von Layout)
SetValue(DependencyProperty, Object)

Legt den lokalen Wert einer Abhängigkeitseigenschaft für ein DependencyObject fest.

(Geerbt von DependencyObject)
UninitializeForContext(LayoutContext)

Entfernt jeden Zustand, den das Layout zuvor im UIElement-Container gespeichert hat.

(Geerbt von Layout)
UninitializeForContextCore(VirtualizingLayoutContext)

Entfernt beim Überschreiben in einer abgeleiteten Klasse jeden Zustand, den das Layout zuvor im UIElement-Container gespeichert hat.

(Geerbt von VirtualizingLayout)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Bricht eine Änderungsbenachrichtigung ab, die zuvor registriert wurde, indem RegisterPropertyChangedCallback aufgerufen wurde.

(Geerbt von DependencyObject)

Ereignisse

ArrangeInvalidated

Tritt auf, wenn der Anordnungszustand (Layout) ungültig wurde.

(Geerbt von Layout)
ItemsInfoRequested

Tritt auf, wenn die LinedFlowLayout Größeninformationen für Elemente im und um den aktuellen Bildlauf-Viewport benötigt.

ItemsUnlocked

Tritt auf, wenn Elemente, die durch Aufrufe der LockItemToLine-Methode in bestimmten Zeilen gesperrt wurden, erneut entsperrt werden.

MeasureInvalidated

Tritt auf, wenn der Messzustand (Layout) ungültig wurde.

(Geerbt von Layout)

Gilt für:

Weitere Informationen