You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中C#向ListBox添加客户名称显示异常问题求助

WPF ListBox显示客户名称问题解决及删除功能实现

一、解决ListBox显示项目名称的问题

ListBox默认会调用绑定对象的ToString()方法来显示内容,你的Client类没有重写该方法,所以默认输出类的完整名称(即WpfApp_Employment_Help.Client),你看到的是其中的项目名称部分。有两种简单的解决方式:

方案1:重写Client类的ToString()方法

在Client类中添加以下代码,让ListBox直接显示客户名称:

namespace WpfApp_Employment_Help
{
    public partial class Client
    {
        private static int nextID = 0;
        public string ID { get; private set; }
        public string Name { get; set; }
        public string Phone { get; set; }
        public string Email { get; set; }
        public string Location { get; }

        public bool IDed { get; private set; }

        public Client(string n, string p, string e, string l)
        {
            Name = n;
            Phone = p;
            Email = e;
            Location = l;
        }

        public void AssignID()
        {
            if (!IDed)
            {
                ID = nextID.ToString("D4");
                nextID++;
                IDed = true;
            }
        }

        // 重写ToString方法,返回客户名称
        public override string ToString()
        {
            return Name;
        }
    }
}

方案2:在XAML中设置ListBox的DisplayMemberPath

打开MainWindow.xaml,找到lstClients这个ListBox控件,添加DisplayMemberPath="Name"属性,指定要显示的属性为Client的Name:

<ListBox x:Name="lstClients" DisplayMemberPath="Name" />

这种方式不需要修改C#代码,直接通过XAML配置显示字段,更符合WPF的数据绑定规范。

二、实现删除客户功能

1. 添加删除按钮(XAML)

在MainWindow的界面中添加一个删除按钮(位置根据你的布局调整):

<Button Content="删除客户" Click="DeleteClient"/>

2. 实现删除逻辑(C#)

在MainWindow类中添加以下方法:

private void DeleteClient(object sender, RoutedEventArgs e)
{
    Client selectedClient = lstClients.SelectedItem as Client;
    if (selectedClient != null)
    {
        ClientList.Remove(selectedClient);
        // 刷新ListBox显示
        lstClients.ItemsSource = null;
        lstClients.ItemsSource = ClientList;
    }
}

该方法会获取ListBox中选中的客户,从客户列表中移除后刷新ListBox的数据源,完成删除操作。

内容的提问来源于stack exchange,提问作者Bluetail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:35:24