我正在开发一款UWP应用程序。我想遍历页面中ListView的所有ListViewItems。这是ListView的xaml。如何在ListView的DataTemplate中设置DataType时访问ListViewItems?
<ListView x:Name="DownloadTaskListView"
ItemsSource="{x:Bind ViewModel.CompletedDownloads}"
HorizontalContentAlignment="Stretch"
Background="{x:Null}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="data:DownloadTask">
<Grid x:Name="ItemViewGrid" Background="{x:Null}" Margin="4,0,0,0">
....
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="BorderThickness" Value="0" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
我使用这段代码来实现这一点。
foreach(ListViewItem item in DownloadTaskListView.Items)
{
// Do something useful
}
但它给了我一个例外。因为我设置了DataTemplate的DataType,所以运行时抛出了一个异常,它无法从DownloadTask(在这种情况下是数据类型)转换为ListViewItem。所以我想问一下访问ListViewItems的其他方式是什么?
感谢恩典,它的工作原理。我是新的发展,将捆绑松散结束:) –