C# 如何从listview中检索单个值

C# 如何从listview中检索单个值,c#,wpf,C#,Wpf,全新的C夏普,所以请原谅我这是一个愚蠢的问题。 我有一个简单的课程: public enum SexType { Male, Female }; public class User { public string Name { get; set; } public int Age { get; set; } public string Mail { get; set; }

全新的C夏普,所以请原谅我这是一个愚蠢的问题。 我有一个简单的课程:

    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);

        }
公共窗口4()
{
初始化组件();
列表项=新列表();
添加(新用户(){Name=“John Doe”,年龄=42,性别=SexType.Male});
添加(新用户(){Name=“Jane Doe”,年龄=39,性别=SexType.Female});
添加(新用户(){Name=“Sammy Doe”,年龄=13,性别=SexType.Male});
lvUsers.ItemsSource=项目;
CollectionView视图=(CollectionView)CollectionViewSource.GetDefaultView(lvUsers.ItemsSource);
PropertyGroupDescription groupDescription=新的PropertyGroupDescription(“性别”);
view.groupDescription.Add(groupDescription);
}
现在我想做的就是在listview中选择一个组时,我想能够获取单个项目的价值。因此,如果我点击listview中的“John Doe”组,我希望能够获得年龄(42岁)和姓名(John Doe)。 因此,我为listview选择了SelectedChanged方法,但当我在listview中选择一条记录时,我无法获得单个值。 当SelectedChange启动并打开即时窗口时,如果我查看?listview.SelectedValue,我会得到: {ListBoxSampleWPF.User} 年龄:13 邮件:空 姓名:“萨米·多伊” 性别:男 因此,我知道这些值存在,但如果我尝试: ?lvUsers.SelectedItems.Age; 我得到: 'System.Collections.IList'不包含'Age'的定义,并且找不到接受'System.Collections.IList'类型的第一个参数的扩展方法'Age'(是否缺少using指令或程序集引用?)

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

是的,出现此错误是因为您试图从列表中获取类属性。试着跟随

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

希望这有帮助。

很抱歉,我遇到了这个错误:'object'不包含'Age'的定义,并且找不到接受'object'类型的第一个参数的扩展方法'Age'。(您是否缺少using指令或程序集引用?)您能给我举个例子吗?编辑我的答案。请检查一下