在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。页脚:
<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。