在ListView的最后一项上的Winrt - Specific ItemTemplate

本文关键字:Winrt Specific ItemTemplate 一项 最后 ListView | 更新日期: 2023-09-27 18:07:17

我在一个windows store应用程序项目中有这个列表视图

<ListView ItemsSource="{Binding Attachments}"  IsItemClickEnabled="False" SelectionMode="None">
                                <ListView.ItemTemplate>
                                    <DataTemplate >
                                        <Grid Width="280" Height="50" Margin="85,0,0,0">
                                            <Grid.RowDefinitions>
                                                <RowDefinition Height="*"/>
                                                <RowDefinition Height="5" />
                                            </Grid.RowDefinitions>
                                            <RadioButton GroupName="meetingFiles" Content="TESTE" Style="{StaticResource RadioButtonStyle1}"></RadioButton>
                                            <TextBlock Text="1" HorizontalAlignment="Right"></TextBlock>
                                            <Grid x:Name="whiteLine" Grid.Row="1" Width="270" Height="1" Background="White" HorizontalAlignment="Center" />
                                        </Grid>
                                    </DataTemplate>
                                </ListView.ItemTemplate>
                            </ListView>

我想在列表视图上的最后一个项目不显示名为whiteLine的网格我该怎么做呢?或者这是不可能的?

在ListView的最后一项上的Winrt - Specific ItemTemplate

另一个解决方案是添加一个Listview。页脚:

<ListView>
     <!-- Your Listview ItemTemplate /-->
     <ListView.Footer>
           <Grid Width="280" Height="50" Margin="85,0,0,0">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"/>
                <RowDefinition Height="5" />
           </Grid.RowDefinitions>
           <RadioButton GroupName="meetingFiles" Content="TESTE" Style="{StaticResource RadioButtonStyle1}"></RadioButton>
           <TextBlock Text="1" HorizontalAlignment="Right"></TextBlock>
     </ListView.Footer>
</ListView>

这并不是真正改变最后一个项目,它是添加一个元素,总是在ListView的底部,看起来和你的项目一样。这将给用户留下它是listview的一部分的印象,并且您将保持代码的简单。

或者

<ListView ItemTemplateSelector="..."/> 

或者结合Grid's Visibility就可以了。但是您需要在Model中使用某种类型的标志变量,以便您可以使用它来确定它是否是列表中的最后一个。

我使用上面的解决方案来替换ListView中每个项目的背景颜色,我的模型也包含一个RowID。