【问题标题】:How to retrieve a single value from a listview如何从列表视图中检索单个值
【发布时间】:2013-10-13 16:01:07
【问题描述】:

CSharp 的新手,所以请原谅我这是一个愚蠢的问题。 我有一个简单的类:

    public enum SexType { Male, Female };
        public class User
        {
            public string Name { get; set; }

            public int Age { get; set; }

            public string Mail { get; set; }

            public SexType Sex { get; set; }
        }

然后我使用该类通过分组填充列表视图。

public Window4()
        {
            InitializeComponent();
            List<User> items = new List<User>();
            items.Add(new User() { Name = "John Doe", Age = 42, Sex = SexType.Male });
            items.Add(new User() { Name = "Jane Doe", Age = 39, Sex = SexType.Female });
            items.Add(new User() { Name = "Sammy Doe", Age = 13, Sex = SexType.Male });
            lvUsers.ItemsSource = items;

            CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(lvUsers.ItemsSource);
            PropertyGroupDescription groupDescription = new PropertyGroupDescription("Sex");
            view.GroupDescriptions.Add(groupDescription);

        }

现在我想做的就是在列表视图中选择一个组时,我希望能够获取各个项目的值。因此,如果我单击列表视图中的“John Doe”组,我希望能够获得 Age(42) 和 Name(John Doe)。 所以我去了列表视图的 SelectedChanged 方法,但是当我在列表视图中选择一条记录时,我无法获得单个值。 当 SelectedChange 触发并打开即时窗口时,如果我查看 ?listview.SelectedValue 我得到: {ListBoxSampleWPF.User} 年龄:13 邮件:空 名称:“Sammy Doe” 性别男 所以我知道这些值是存在的,但如果我尝试: ?lvUsers.SelectedItems.Age; 我得到: 'System.Collections.IList' 不包含'Age' 的定义,并且找不到接受'System.Collections.IList' 类型的第一个参数的扩展方法'Age'(您是否缺少 using 指令或程序集引用?)

请让我知道我做错了什么。 谢谢

【问题讨论】:

    标签: c# wpf


    【解决方案1】:

    是的,这个错误是因为你试图从列表中获取你的类属性。尝试关注

    var obj=lvUsers.SelectedItems[0] as User;
    if(obj!=null)
    {
       var age=obj.Age;
    }
    

    希望这会有所帮助。

    【讨论】:

    • 对不起,我收到此错误:'object' 不包含'Age' 的定义,并且找不到接受'object' 类型的第一个参数的扩展方法'Age'(您是否缺少使用指令还是程序集引用?)
    • 你能给我举个例子吗?
    • 编辑我的答案。请检查一下
    猜你喜欢
    • 1970-01-01
    • 2014-05-25
    • 2019-08-21
    • 2021-08-02
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2015-11-17
    • 1970-01-01
    相关资源
    最近更新 更多