我试图将我的列表框的显示成员设置为来自linq查询的串联值:
var query =
from a in db.Customers
select a;
listBox1.DataSouce = query;
我希望能够通过执行以下操作来设置显示成员:
listBox1.DisplayMember = "FirstName" + "LastName";
但显然那是行不通的。
我该怎么做呢?我想最棘手的部分是数据源是linq查询结果对象。但是它是可索引的,所以必须有某种方法。
最佳答案
如果您有一个自己编写或已生成但可以扩展的Customer类,那么我认为最好的方法是为其添加新属性
namespace SameNameSpaceAsGeneratedCustomerClass {
public partial class Customer {
public string FullName { get { return FirstName + " " + LastName; } }
}
}
如果您无法执行此操作,则需要查看创建ValueConverter http://msdn.microsoft.com/en-us/library/system.windows.data.ivalueconverter.aspx