ListView 中的第一项自定义样式边框

First item custom style border in ListView

如何为 ListView 中的第一项设置不同的样式?就我而言,我想更改第一项的边框,以获得这样的 GUI:

我当前的代码(无上边框):

<ListView 
    ItemsSource="{Binding MyData}">
    <ListView.ItemContainerStyle>
        <Setter Property="BorderThickness" Value="0,0,0,1" />
    </ListView.ItemContainerStyle>
</ListView>

有一个非常简单的解决方案。您不必编写自定义转换器等。使用 PreviousData in RelativeSource

<ListView.ItemContainerStyle>
    <Style TargetType="{x:Type ListBoxItem}">
        <Setter Property="BorderThickness" Value="0,0,0,1" />
        <Style.Triggers>
            <DataTrigger 
                Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
                <Setter Property="BorderThickness" Value="0,1,0,1"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ListView.ItemContainerStyle>