Compartilhar via


LinedFlowLayout Classe

Definição

Representa um controle que posiciona elementos sequencialmente da esquerda para a direita e, em seguida, de cima para baixo, em um layout de disposição, usando a mesma altura para todos os 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
Herança
Object IInspectable DependencyObject Layout VirtualizingLayout LinedFlowLayout
Atributos
Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackAttribute Microsoft.UI.Xaml.CustomAttributes.MUXPropertyChangedCallbackMethodNameAttribute ContractVersionAttribute MarshalingBehaviorAttribute ThreadingAttribute

Comentários

O LinedFlowLayout posiciona os elementos sequencialmente da esquerda para a direita e, em seguida, de cima para baixo, em um layout de disposição. Use esse layout para exibir uma coleção de itens em que os itens têm uma altura fixa, mas uma largura variável. Recomendamos isso para coleções baseadas em imagem. Esse layout também tem animações internas que são reproduzidas quando a coleção tem itens adicionados ou removidos e quando o modo de exibição é redimensionado.

Para usar um LinedFlowLayout, defina-o como um valor para as propriedades ItemsView.Layout ou ItemsRepeater.Layout .

Aqui está um controle ItemsView que mostra uma coleção de fotos em um layout de fluxo forrado.

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

Uma coleção de fotos mostradas em um layout de fluxo forrado em que cada item tem a mesma altura, mas a largura varia de acordo com o tamanho original da taxa de proporção da foto.

LinedFlowLayout fornece propriedades para controlar:

Construtores

LinedFlowLayout()

Inicializa uma nova instância da classe LinedFlowLayout .

Propriedades

ActualLineHeight

Obtém a altura fixa efetiva das linhas.

ActualLineHeightProperty

Identifica a propriedade de dependência ActualLineHeight .

Dispatcher

Sempre retorna null em um aplicativo SDK do Aplicativo Windows. Em vez disso, use DispatcherQueue .

(Herdado de DependencyObject)
DispatcherQueue

Obtém o ao DispatcherQueue qual este objeto está associado. O DispatcherQueue representa uma instalação que pode acessar o DependencyObject no thread da interface do usuário, mesmo que o código seja iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
IndexBasedLayoutOrientation

Obtém a orientação, se houver, na qual os itens são dispostos com base em seu índice na coleção de origem.

(Herdado de Layout)
ItemsJustification

Obtém ou define um valor que indica como os itens são alinhados no eixo horizontal.

ItemsJustificationProperty

Identifica a propriedade de dependência ItemsJustification .

ItemsStretch

Obtém ou define um valor que indica como os itens são dimensionados para preencher o espaço disponível.

ItemsStretchProperty

Identifica a propriedade de dependência ItemsStretch .

LineHeight

Obtém ou define a altura fixa das linhas.

LineHeightProperty

Identifica a propriedade de dependência LineHeight .

LineSpacing

Obtém ou define o espaço vertical entre os itens.

LineSpacingProperty

Identifica a propriedade de dependência LineSpacing .

MinItemSpacing

Obtém ou define o espaço mínimo entre os itens no eixo horizontal.

MinItemSpacingProperty

Identifica a propriedade de dependência MinItemSpacing .

RequestedRangeLength

Obtém o número de itens atualmente usando informações de dimensionamento fornecidas por meio do evento ItemsInfoRequested .

RequestedRangeStartIndex

Obtém o menor índice dos itens atualmente usando informações de dimensionamento fornecidas por meio do evento ItemsInfoRequested . Um valor de -1 indica que nenhuma informação de dimensionamento de ItemsInfoRequested está sendo usada.

Métodos

Arrange(LayoutContext, Size)

Posiciona elementos filho e determina um tamanho para um UIElement de contêiner. Elementos de contêiner que dão suporte a layouts anexados devem chamar esse método de suas implementações de substituição de layout para formar uma atualização de layout recursiva.

(Herdado de Layout)
ArrangeOverride(VirtualizingLayoutContext, Size)

Quando implementado em uma classe derivada, fornece o comportamento para a passagem de layout "Arrange". As classes podem substituir esse método para definir seu próprio comportamento de passagem "Arrange".

(Herdado de VirtualizingLayout)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
CreateDefaultItemTransitionProvider()

Representa um controle que posiciona elementos sequencialmente da esquerda para a direita e, em seguida, de cima para baixo, em um layout de disposição, usando a mesma altura para todos os elementos.

(Herdado de Layout)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
InitializeForContext(LayoutContext)

Inicializa qualquer estado por contêiner que o layout requer quando está anexado a um contêiner UIElement.

(Herdado de Layout)
InitializeForContextCore(VirtualizingLayoutContext)

Quando substituído em uma classe derivada, inicializa qualquer estado por contêiner que o layout requer quando está anexado a um contêiner UIElement.

(Herdado de VirtualizingLayout)
InvalidateArrange()

Invalida o estado de organização (layout) para todos os contêineres UIElement que fazem referência a esse layout. Após a invalidação, o UIElement terá seu layout atualizado, o que ocorre de forma assíncrona.

(Herdado de Layout)
InvalidateItemsInfo()

Faz com que o LinedFlowLayout faça um refluxo de seus itens.

InvalidateMeasure()

Invalida o estado de medida (layout) para todos os contêineres UIElement que fazem referência a esse layout.

(Herdado de Layout)
LockItemToLine(Int32)

Recupera o índice da linha à qual o item com o índice fornecido pertence. Esse item tem a garantia de aparecer na linha retornada até que o evento ItemsUnlocked seja acionado.

Measure(LayoutContext, Size)

Sugere um DesiredSize para um elemento de contêiner. Um elemento de contêiner que dá suporte a layouts anexados deve chamar esse método de suas próprias implementações MeasureOverride para formar uma atualização de layout recursiva. Espera-se que o layout anexado chame a Medida para cada um dos filhos UIElement do contêiner.

(Herdado de Layout)
MeasureOverride(VirtualizingLayoutContext, Size)

Fornece o comportamento para a passagem "Measure" do ciclo de layout. As classes podem substituir esse método para definir seu próprio comportamento de passagem de "Medida".

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

Notifica o layout quando a coleta de dados atribuída ao elemento de contêiner (ItemsSource) foi alterada.

(Herdado de VirtualizingLayout)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nessa instância dependencyObject .

(Herdado de DependencyObject)
SetIndexBasedLayoutOrientation(IndexBasedLayoutOrientation)

Define o valor da propriedade IndexBasedLayoutOrientation.

(Herdado de Layout)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
UninitializeForContext(LayoutContext)

Remove qualquer estado do layout armazenado anteriormente no contêiner UIElement.

(Herdado de Layout)
UninitializeForContextCore(VirtualizingLayoutContext)

Quando substituído em uma classe derivada, remove qualquer estado que o layout armazenou anteriormente no contêiner UIElement.

(Herdado de VirtualizingLayout)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Eventos

ArrangeInvalidated

Ocorre quando o estado de organização (layout) foi invalidado.

(Herdado de Layout)
ItemsInfoRequested

Ocorre quando o LinedFlowLayout precisa de informações de dimensionamento para itens dentro e ao redor do visor de rolagem atual.

ItemsUnlocked

Ocorre sempre que os itens que foram bloqueados em linhas específicas por meio de chamadas para o método LockItemToLine são desbloqueados novamente.

MeasureInvalidated

Ocorre quando o estado de medida (layout) foi invalidado.

(Herdado de Layout)

Aplica-se a

Confira também