C# WPF是否从Listview检索项目?

C# WPF是否从Listview检索项目?,c#,wpf,listview,C#,Wpf,Listview,现在我正在使用数据库数据填充Listview。但我也需要编辑数据。因此,我想选择列表中的项目,并能够将其放入字符串中。我正在用messagebox测试这一点,但下面的代码一直在发生: //Fill Listview with MySql Data public void Data() { _NAWGEGEVENS = Connect.Fill(); foreach (var _NAW in _NAWGEGEVENS) {

现在我正在使用数据库数据填充Listview。但我也需要编辑数据。因此,我想选择列表中的项目,并能够将其放入字符串中。我正在用messagebox测试这一点,但下面的代码一直在发生:

//Fill Listview with MySql Data
    public void Data()
    {
        _NAWGEGEVENS = Connect.Fill();
        foreach (var _NAW in _NAWGEGEVENS)
        {


            test.Add(new NAWGegeven()
            {
                Voornaam = _NAW.voornaam,
                Achternaam = _NAW.achternaam,
                Geslacht = _NAW.geslacht,
                Adres = _NAW.geslacht,
                Huisnummer = _NAW.huisnummer,
                Postcode = _NAW.postcode,
                Woonplaats = _NAW.woonplaats,
                Geboortedatum = _NAW.geboortedatum
            });
        }
        LVNAV.ItemsSource = test;
    }
//retrieve item from the list
    private void BtnWijzigen_Click(object sender, RoutedEventArgs e)
    {
        string text2;
        text2 = ((NAWGegeven)LVNAV.SelectedValue).ToString();
        //String text = LVNAV.SelectedItem.ToString();
        MessageBox.Show(text2);
    }
//CLASS for the listview
class NAWGegeven
{
    public string Voornaam { get; set; }
    public string Achternaam { get; set; }
    public string Geslacht { get; set; }
    public string Adres { get; set; }
    public int Huisnummer { get; set; }
    public string Postcode { get; set; }
    public string Woonplaats { get; set; }
    public DateTime Geboortedatum { get; set; }

}
结果总是一样的,它是以下消息:ERP.NAWGEGEVEN 有人知道如何从listview中检索所选项目吗?我希望它从列表中检索记录的ID,该列表与数据库中的记录一起加载


我以前对列表框做过这样的操作,但是由于标签都弄乱了,我决定切换到列表视图。我对此有点陌生。

如果我理解您的问题,您将无法从ToString方法中获得所需的字符串。如果想让ToString方法以特定格式输出字符串,则需要在NAWGegeven类中重写ToString方法

class NAWGegeven
{
    public string Voornaam { get; set; }
    public string Achternaam { get; set; }
    public string Geslacht { get; set; }
    public string Adres { get; set; }
    public int Huisnummer { get; set; }
    public string Postcode { get; set; }
    public string Woonplaats { get; set; }
    public DateTime Geboortedatum { get; set; }

    public override string ToString()
    {
        //your formatted output string here
        //Example
        return $"{nameof(Voornam)}: {Voornam}, {nameof(Achternaam)}: {Achternaam}";
    }

}
编辑:如果您希望检索特定属性,那么您的调用应该更像这样:


NAWGegevenLVNAV.SelectedValue.[所需的属性].ToString

您检索了所选项目。。。但随后您将其转换为字符串而不是获取ID。等等,NAWGegeven类没有任何ID