gpt4 book ai didi

c# - 使用匿名类型列表填充 AutoCompleteBox

转载 作者:行者123 更新时间:2023-11-30 18:40:26 24 4
gpt4 key购买 nike

我正在为我的 WPF C# 项目创建一个用户选择 userControl。我确实为选择制作了自定义自动完成控件,但出于优化目的,我现在正在研究使用 WPF 工具包中的自动完成文本框。

因为我在数据库中有成千上万的用户,所以我不想使用自定义类,也不想在我正在检索的列表中使用许多 foreach。所以考虑到这一点,这是我的问题。

var list = from cu in conn3.customer_users
select new {
username = cu.username,
name = cu.fname.TrimEnd() + " " + cu.lname.TrimEnd()
// This would of course be built with more info from more entities.

};

this.autoComplete.ItemsSource = list.ToList();

现在这里的问题是它为结果框输出以下格式(On a search)。

{ username = DEI1231 , name = Missy Anderson }

所以我不想 foreach 列表,而是在绑定(bind)它或制作列表时格式化它。

有什么想法吗?

最佳答案

你最终选择的必须是字符串而不是匿名类型

 var str = from cu in x
// your stuff
select cu.username + cu.fname;

另一种选择是保留匿名类型并使用 StringFormat在绑定(bind)中

<TextBlock >
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding ElementName="username" Path="Text"/>
<Binding ElementName="name" Path="Text"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>

另一种选择是在匿名类型中有一个字段,其中包含您想要显示的完整字符串,并使用 DisplayMemberPath 用于绑定(bind)

关于c# - 使用匿名类型列表填充 AutoCompleteBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8212186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com