当前位置: 首页 > 编程语言 > C#

WPF中的Key-valueCombobox分享

时间:2023-04-11 00:28:58 C#

WPF中的Key-valuecombobox考虑我绑定到ComboBox的键值对集合(Exkey=MSFTvalue=MSFTMicrosoft)。DisplayMemeberPath=值。需要完成以下工作,我无法想出同时支持这两个功能的解决方案。解决一个会破坏另一个。我想你想要的是如下。公共类ComboBoxPairs{公共字符串_Key{得到;放;}publicstring_Value{得到;放;}publicComboBoxPairs(string_key,string_value){_Key=_key;_值=_值;然后你继续像这样使用这个类Listcbp=newList();cbp.Add(newComboBoxPairs("Microsoft","MSFT"));cbp.Add(newComboBoxPairs("Apple","AAPL"));并将其绑定到您拥有的组合框cmbBrokers.DisplayMemberPath="_Key";cmbBrokers.SelectedValuePath="_Value";cmbBrokers.ItemsSource=cbp;当您需要访问它时,只需执行ComboBoxPairscbp=(ComboBoxPairs)cmbBrokers.SelectedItem;字符串_key=cbp._Key;字符串_value=cbp._Value;这就是您需要做的全部。使用更通用的解决方案扩展Adams示例。在xaml.cs中创建一个可观察的集合属性并为其分配一个集合。ObservableCollection>MyCollection{得到;放;}MyCollection=newObservableCollection>(){newKeyValuePair("key1","value1"),newKeyValuePair("key2","value2")};在xaml文件中,将您的Theobservablecollectionisdatabound到您在后面的代码中创建的属性。如果要显示值,可以将DisplayMemberPath="Key"改为DisplayMemberPath="Value"。我不认为开箱即用的组合框是适合您在这种情况下使用的UI元素。这里的问题是组合框不是设计来支??持键/值对的,特别是如果您希望用户在绑定到键时能够将值添加到字典中。例如,如果您允许他们添加值,他们如何添加键或选择更新哪些键?我认为解决方案是有两个控件:一个用于键选择的组合框和一个用于值输入的文本框。值文本框将隐藏,直到用户选择一个键。选择键后,让他们在文本框中输入值,然后按Enter或按钮并将值设置为所选键。以上就是C#学习教程:Key-valuepaircomboboxinWPF分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: