首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将字符串列表与8个字符键关联?

如何将字符串列表与8个字符键关联?
EN

Stack Overflow用户
提问于 2014-03-14 20:21:06
回答 1查看 54关注 0票数 1

我在WPF表单上有一个ComboBox和一个TextBox。我背后的代码在C#中。ComboBox包含与用户输入TextBox的电子邮件地址类型相对应的字符串。

我希望字符串对应的8个字符键将被序列化为Json与用户输入的电子邮件地址作为值。

我唯一能想到的就是

代码语言:javascript
运行
复制
if this.ComboBox.SelectedItem == "Some String"
JsonObject thingToSerialize = new JsonObject(){key = 'smestrng', value = TextBox.Text}

我非常希望将List<string>绑定到ComboBox项,并将这些字符串与8个字符键相关联。我可以在其中写几行,搜索列表,找到字符串,然后得到相应的8个字符键。

希望我没把事情搞得太复杂。我可以用一堆if语句来破解一些东西,但我相信,当我意识到我必须把它放大并完全重写时,我会在8个月后恨自己。我不确定是否会有三四把钥匙或者七十五把钥匙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-14 21:09:24

在编写WPF时,最好总是正确地构造数据。我的意思是,如果您想要有一个用某种键链接的电子邮件地址,那么创建一个简单的类,它有两个属性:EmailAddressKey。当然,您也可能希望添加更多的属性,如Name等。

然后,可以将这些类实例的集合数据绑定到ComboBox.ItemsSource属性,并将DisplayMemberPath属性设置为显示EmailAddress属性值,同时仍然包含其他值。最后,添加一个名为SelectedItem的类类型的属性,并将其绑定到ComboBox.SelectedItem属性:

代码语言:javascript
运行
复制
<ComboBox ItemsSource="{Binding YourCollection}" DisplayMemberPath="EmailAddress" 
    SelectedItem="{Binding SelectedItem}" />

然后你可以这样做:

代码语言:javascript
运行
复制
JsonObject thingToSerialize = new JsonObject() { key = SelectedItem.Key, value = 
    SelectedItem.EmailAddress };
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22415001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档