Pergunta

Parece que seria um problema comum, mas meu Google-Fu me deixou sem nada.Desculpas se isso já foi perguntado milhares de vezes antes!

Eu tenho uma coleção, digamos um ObservableCollection<Athlete>.Quero exibir essa coleção na tela para que se pareça com:

Jersey Pic] | [Jersey Pic] | [Jersey Pic] | [Foto de Jersey

A chave neste exemplo inventado é a pequena barra entre cada imagem.Subtraia essa barra e é apenas um ListBox vinculada à coleção, com um ItemsPanelTemplate de uma horizontal StackPanel, e então um ItemTemplate para mostrar a imagem da camisa correspondente para cada item.Sem problemas!

A questão é então: como anexar a barra, que poderia ser qualquer elemento gráfico, afinal menos o último elemento da coleção?

Obrigado!

Foi útil?

Solução

Conforme sugerido no link do @KornMuffin, você pode colocar a barra no lado esquerdo do item ListBox:

| [Jersey Pic] | [Jersey Pic] | [Jersey Pic] | [Foto de Jersey

Então use DataTrigger com {RelativeSource PreviousData} ligação, para ocultar a primeira barra se os dados anteriores forem nulos.Por exemplo, suponha que estou usando Separator para exibir a barra, posso adicionar este estilo ao controle separador para ocultar o primeiro separador:

<Separator.Style>
    <Style TargetType="Separator">
        <Style.Triggers>
            <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
                <Setter Property="Visibility" Value="Collapsed"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Separator.Style>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top