Frage

Dies scheint ein häufiges Problem zu sein, aber mein Google-Fu ließ mich leer zurück.Entschuldigung, wenn das schon tausendmal gefragt wurde!

Ich habe eine Sammlung, sagen wir mal ObservableCollection<Athlete>.Ich möchte diese Sammlung auf dem Bildschirm anzeigen, sodass sie etwa so aussieht:

Jersey Pic] | [Jersey Pic] | [Jersey Pic] | [Jersey Bild

Der Schlüssel zu diesem erfundenen Beispiel ist der kleine Balken zwischen den einzelnen Bildern.Subtrahieren Sie diesen Balken und es ist nur noch ein ListBox an die Sammlung gebunden, mit a ItemsPanelTemplate einer Horizontalen StackPanel, und dann ein ItemTemplate um für jeden Artikel das entsprechende Trikotbild anzuzeigen.Keine Probleme!

Die Frage ist dann, wie man die Leiste anfügt, bei der es sich schließlich um ein beliebiges grafisches Element handeln kann, mit Ausnahme des letzten Elements in der Sammlung.

Danke schön!

War es hilfreich?

Lösung

Wie im Link von @KornMuffin vorgeschlagen, können Sie die Leiste auf der linken Seite des ListBox-Elements platzieren:

| [Jersey Pic] | [Jersey Pic] | [Jersey Pic] | [Jersey Bild

Dann benutze DataTrigger mit {RelativeSource PreviousData} Bindung, um den ersten Balken auszublenden, wenn die vorherigen Daten null sind.Nehmen wir zum Beispiel an, dass ich verwende Separator Um die Leiste anzuzeigen, kann ich dem Trennzeichensteuerelement diesen Stil hinzufügen, um das erste Trennzeichen auszublenden:

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top