当前位置:  开发笔记 > 编程语言 > 正文

WPF:ComboBox显示"(namespace).(classname)"而不是数据

如何解决《WPF:ComboBox显示"(namespace).(classname)"而不是数据》经验,为你挑选了2个好方法。

我想让我ComboBox的XAML绑定到我List后面的代码中的自定义对象集合.

目前ComboBox每个条目的列表dpwpf.Contact都是我的{namespace}.{classname}.

我需要在XAML中输入什么来告诉它列出,例如LastName + FirstName?

我知道它是类似{Binding Path=... Value=...}但我无法得到它.

XAML:


    
        
            
            
        
    

代码背后:

namespace dpwpf
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            StoreDB db = new StoreDB();
            List contacts = db.GetContacts()
            theContactList.ItemsSource = contacts.ToList();
        }
    }
}
回答:


    
        
            
                
                
                
            
        
    

    
        
            
            
        
        
            
            
        
    

Cameron MacF.. 8

您可以覆盖ToString方法Contact,也可以DataTemplate在WPF中定义.

xmlns:dpwpf="... namespace of dpwpf"


    
        
            
            
            
        
    

这允许您定义Contact对象在窗口中的任何位置的显示方式.如果要将此限制为,则ComboBox可以将DataTemplatejust 添加到ComboBox资源中.



1> Cameron MacF..:

您可以覆盖ToString方法Contact,也可以DataTemplate在WPF中定义.

xmlns:dpwpf="... namespace of dpwpf"


    
        
            
            
            
        
    

这允许您定义Contact对象在窗口中的任何位置的显示方式.如果要将此限制为,则ComboBox可以将DataTemplatejust 添加到ComboBox资源中.



2> 小智..:

只需在你的ComboBox标签中添加它(xaml代码)

TextSearch.TextPath ="Title"

ToString() 修改会影响您将来需要的所有案例,我不建议您这样做.

请参阅该示例:http: //simplesample.site90.com/wpf_combobox.php

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有