سؤال

يبدو أن هذه ستكون مشكلة شائعة، لكن Google-Fu الخاص بي تركني بلا نهاية.أعتذر إذا تم طرح هذا السؤال ألف مرة من قبل!

لدي مجموعة، ويقول ObservableCollection<Athlete>.أريد عرض هذه المجموعة على الشاشة بحيث تبدو كما يلي:

جيرسي الموافقة المسبقة عن علم] | [جيرسي الموافقة المسبقة عن علم] | [جيرسي الموافقة المسبقة عن علم] | [جيرسي الموافقة المسبقة عن علم

المفتاح في هذا المثال المبتكر هو الشريط الصغير بين كل صورة.اطرح هذا الشريط وهو مجرد ListBox منضما إلى المجموعة، مع أ ItemsPanelTemplate من الأفقي StackPanel, ، وبعد ذلك ItemTemplate لإظهار صورة القميص المقابلة لكل عنصر.لا مشاكل!

والسؤال إذن هو، كيفية إلحاق الشريط، الذي يمكن أن يكون أي عنصر رسومي، بعد كل شيء باستثناء العنصر الأخير في المجموعة؟

شكرًا لك!

هل كانت مفيدة؟

المحلول

كما هو مقترح في الرابط من @KornMuffin، يمكنك وضع الشريط في الجانب الأيسر من عنصر ListBox:

| [جيرسي الموافقة المسبقة عن علم] | [جيرسي الموافقة المسبقة عن علم] | [جيرسي الموافقة المسبقة عن علم] | [جيرسي الموافقة المسبقة عن علم

ثم استخدام DataTrigger مع {RelativeSource PreviousData} ملزمة لإخفاء الشريط الأول إذا كانت البيانات السابقة فارغة.على سبيل المثال، افترض أنني أستخدم Separator لعرض الشريط، يمكنني إضافة هذا النمط إلى عنصر التحكم بالفاصل لإخفاء الفاصل الأول:

<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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top