Compartir a través de


LinedFlowLayout Clase

Definición

Representa un control que coloca los elementos secuencialmente de izquierda a derecha y, después, de arriba abajo, en un diseño de ajuste, utilizando el mismo alto para todos los elementos.

/// [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
Herencia
Object IInspectable DependencyObject Layout VirtualizingLayout LinedFlowLayout
Atributos
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodNameAttribute ContractVersionAttribute MarshalingBehaviorAttribute ThreadingAttribute

Comentarios

LinedFlowLayout coloca los elementos secuencialmente de izquierda a derecha y, después, de arriba abajo, en un diseño de ajuste. Utilice este diseño para mostrar una colección de elementos en la que los elementos tienen un alto fijo, pero un ancho variable. Se recomienda para colecciones basadas en imágenes. Este diseño también tiene animaciones integradas que se reproducen cuando la colección tiene elementos agregados o quitados, y cuando se cambia el tamaño de la vista.

Para usar linedFlowLayout, establézcalo como un valor para las propiedades ItemsView.Layout o ItemsRepeater.Layout .

Este es un control ItemsView que muestra una colección de fotos en un diseño de flujo alineado.

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

Colección de fotos mostradas en un diseño de flujo alineado donde cada elemento tiene el mismo alto, pero el ancho varía en función del tamaño original de la relación de aspecto de la foto.

LinedFlowLayout proporciona propiedades para controlar:

Constructores

LinedFlowLayout()

Inicializa una nueva instancia de la clase LinedFlowLayout .

Propiedades

ActualLineHeight

Obtiene el alto fijo efectivo de las líneas.

ActualLineHeightProperty

Identifica la propiedad de dependencia ActualLineHeight .

Dispatcher

Siempre devuelve null en una aplicación de SDK de Aplicaciones para Windows. En su lugar, use DispatcherQueue .

(Heredado de DependencyObject)
DispatcherQueue

Obtiene el objeto DispatcherQueue al que está asociado este objeto. DispatcherQueue representa una instalación que puede tener acceso a DependencyObject en el subproceso de interfaz de usuario incluso si un subproceso que no es de interfaz de usuario inicia el código.

(Heredado de DependencyObject)
IndexBasedLayoutOrientation

Obtiene la orientación, si existe, en la que los elementos se disponen en función de su índice en la colección de origen.

(Heredado de Layout)
ItemsJustification

Obtiene o establece un valor que indica cómo se alinean los elementos en el eje horizontal.

ItemsJustificationProperty

Identifica la propiedad de dependencia ItemsJustification .

ItemsStretch

Obtiene o establece un valor que indica cómo se ajusta el tamaño de los elementos para rellenar el espacio disponible.

ItemsStretchProperty

Identifica la propiedad de dependencia ItemsStretch .

LineHeight

Obtiene o establece el alto fijo de las líneas.

LineHeightProperty

Identifica la propiedad de dependencia LineHeight .

LineSpacing

Obtiene o establece el espacio vertical entre elementos.

LineSpacingProperty

Identifica la propiedad de dependencia LineSpacing .

MinItemSpacing

Obtiene o establece el espacio mínimo entre los elementos del eje horizontal.

MinItemSpacingProperty

Identifica la propiedad de dependencia MinItemSpacing .

RequestedRangeLength

Obtiene el número de elementos que usan actualmente la información de ajuste de tamaño proporcionada a través del evento ItemsInfoRequested .

RequestedRangeStartIndex

Obtiene el índice más pequeño de los elementos que usan la información de ajuste de tamaño proporcionada a través del evento ItemsInfoRequested . Un valor de -1 indica que no se usa información de ajuste de tamaño de ItemsInfoRequested .

Métodos

Arrange(LayoutContext, Size)

Coloca los elementos secundarios y determina un tamaño para un uiElement de contenedor. Los elementos de contenedor que admiten diseños adjuntos deben llamar a este método desde sus implementaciones de invalidación de diseño para formar una actualización de diseño recursiva.

(Heredado de Layout)
ArrangeOverride(VirtualizingLayoutContext, Size)

Cuando se implementa en una clase derivada, proporciona el comportamiento del paso "Organizar" del diseño. Las clases pueden invalidar este método para definir su propio comportamiento de paso "Organizar".

(Heredado de VirtualizingLayout)
ClearValue(DependencyProperty)

Borra el valor local de una propiedad de dependencia.

(Heredado de DependencyObject)
CreateDefaultItemTransitionProvider()

Representa un control que coloca los elementos secuencialmente de izquierda a derecha y, después, de arriba abajo, en un diseño de ajuste, utilizando el mismo alto para todos los elementos.

(Heredado de Layout)
GetAnimationBaseValue(DependencyProperty)

Devuelve cualquier valor base establecido para una propiedad de dependencia, que se aplicaría en los casos en los que una animación no está activa.

(Heredado de DependencyObject)
GetValue(DependencyProperty)

Devuelve el valor efectivo actual de una propiedad de dependencia de dependencyObject.

(Heredado de DependencyObject)
InitializeForContext(LayoutContext)

Inicializa cualquier estado por contenedor que el diseño requiera cuando se adjunta a un contenedor UIElement.

(Heredado de Layout)
InitializeForContextCore(VirtualizingLayoutContext)

Cuando se invalida en una clase derivada, inicializa cualquier estado por contenedor que requiera el diseño cuando se adjunta a un contenedor UIElement.

(Heredado de VirtualizingLayout)
InvalidateArrange()

Invalida el estado de organización (diseño) para todos los contenedores UIElement que hacen referencia a este diseño. Después de la invalidación, uiElement tendrá su diseño actualizado, que se produce de forma asincrónica.

(Heredado de Layout)
InvalidateItemsInfo()

LinedFlowLayout Hace que realice un nuevo flujo de sus elementos.

InvalidateMeasure()

Invalida el estado de medición (diseño) para todos los contenedores UIElement que hacen referencia a este diseño.

(Heredado de Layout)
LockItemToLine(Int32)

Recupera el índice de la línea a la que pertenece el elemento con el índice proporcionado. A continuación, se garantiza que ese elemento aparezca en la línea devuelta hasta que se genere el evento ItemsUnlocked .

Measure(LayoutContext, Size)

Sugiere un DesiredSize para un elemento contenedor. Un elemento contenedor que admita diseños adjuntos debe llamar a este método desde sus propias implementaciones measureOverride para formar una actualización de diseño recursiva. Se espera que el diseño adjunto llame a measure para cada uno de los elementos secundarios UIElement del contenedor.

(Heredado de Layout)
MeasureOverride(VirtualizingLayoutContext, Size)

Proporciona el comportamiento del paso "Measure" del ciclo de diseño. Las clases pueden invalidar este método para definir su propio comportamiento de paso de "Medida".

(Heredado de VirtualizingLayout)
OnItemsChangedCore(VirtualizingLayoutContext, Object, NotifyCollectionChangedEventArgs)

Notifica al diseño cuando la colección de datos asignada al elemento contenedor (ItemsSource) ha cambiado.

(Heredado de VirtualizingLayout)
ReadLocalValue(DependencyProperty)

Devuelve el valor local de una propiedad de dependencia, si se establece un valor local.

(Heredado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra una función de notificación para escuchar los cambios en una dependencyProperty específica en esta instancia de DependencyObject .

(Heredado de DependencyObject)
SetIndexBasedLayoutOrientation(IndexBasedLayoutOrientation)

Establece el valor de la propiedad IndexBasedLayoutOrientation.

(Heredado de Layout)
SetValue(DependencyProperty, Object)

Establece el valor local de una propiedad de dependencia en dependencyObject.

(Heredado de DependencyObject)
UninitializeForContext(LayoutContext)

Quita cualquier estado del diseño almacenado anteriormente en el contenedor UIElement.

(Heredado de Layout)
UninitializeForContextCore(VirtualizingLayoutContext)

Cuando se invalida en una clase derivada, quita cualquier estado que el diseño almacenado anteriormente en el contenedor UIElement.

(Heredado de VirtualizingLayout)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela una notificación de cambio registrada anteriormente mediante una llamada a RegisterPropertyChangedCallback.

(Heredado de DependencyObject)

Eventos

ArrangeInvalidated

Se produce cuando se invalida el estado de organización (diseño).

(Heredado de Layout)
ItemsInfoRequested

Se produce cuando LinedFlowLayout necesita información de ajuste de tamaño para los elementos de y alrededor de la ventanilla de desplazamiento actual.

ItemsUnlocked

Se produce cada vez que los elementos que se han bloqueado en líneas específicas a través de llamadas al método LockItemToLine se desbloquean de nuevo.

MeasureInvalidated

Se produce cuando se ha invalidado el estado de medición (diseño).

(Heredado de Layout)

Se aplica a

Consulte también