0

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

第一项具有不同边框的列表

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

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

1 回答 1

1

有一个非常简单的解决方案。您不必编写自定义转换器等。使用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>

于 2018-03-19T11:00:21.773 回答