c# - Foreach 遍历所有 listView 项目

标签 c# wpf listview listviewitem

我写了一个listView

<ListView 
  SelectionChanged="MySelectionChanged" 
  ScrollViewer.CanContentScroll="False"
  Background="Transparent" 
  x:Name="uiListView" 
  ItemTemplate="{StaticResource ItemTemplate}" 
  ItemsSource="{Binding Albums}" 
  Width="117" 
  Height="Auto"
  BorderThickness="0" 
  ScrollViewer.HorizontalScrollBarVisibility="Hidden"
  ScrollViewer.VerticalScrollBarVisibility="Hidden" />

并将其绑定(bind)到

public class ListImage
{
    public ListImage(string cover, string title, string isvideo)
    {
        Cover = cover;
        Title = title;
        isVideo = isvideo;

    }

    public string Cover { get; set; }
    public string Title { get; set; }
    public string isVideo { get; set; }
}

我以这种方式添加项目:

uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "false"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "true"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "false"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "true"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "false"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "true"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "false"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "true"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "false"));
uiListView.Items.Add(new ListImage(@"C:\tablet\3kings_full.jpg", @"Title", "true"));

一切都很好。我现在需要访问被点击元素的 ListViewItem 所以

private void MySelectionChanged(object sender, SelectionChangedEventArgs e)
{
    MessageBox.Show(uiListView.Items[uiListView.SelectedIndex].GetType().ToString());
}

但这会返回 ListImage 类型而不是 ListViewItem。我怎样才能访问它?

最好的问候

最佳答案

您可以使用 ListBox.ItemContainerGenerator,或者更可能的是,改变您的方法。您可能会使用 ListBox.ItemContainerStyle 属性在您需要的 ListBoxItem 上设置属性。

关于c# - Foreach 遍历所有 listView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12582605/

相关文章:

wpf - 绑定(bind)设置在可视化设计器中有效,但我无法运行该应用程序

c# - 为什么每个 Dispatcher.BeginInvoke 回调都有一个唯一的同步上下文?

c# - 如何在 Microsoft Surface 应用程序中显示 PDF 文档?

android - 使用 ArrayAdapter<List<item>> 时 ListView 显示为空白

java - Eclipse 声称我没有名为 R.id.list 的 ListView

c# - 验证将 "Unable to cast object of type ' BaseModel' 抛出到类型 'DerivedModel' 。”

c# - 创建事件是将 XF OnAppearing 变成异步方法的有效方法吗?

c# - 确定 2 个 URL 是否相同的最安全方法是什么?

c# - 我如何将此文本与正则表达式匹配?

android - 从 customAdapter 中的 ListView 获取文本