考虑我有绑定(bind)到ComboBox的键值对集合(Ex Key = MSFT Value = MSFT Microsoft)。 DisplayMemeberPath =值。以下需要完成
我无法提出支持这两种功能的解决方案。解决一个会破坏另一个。
<ComboBox IsTextSearchEnabled="True" Name="cmbBrokers" IsEditable="True"
ItemsSource="{Binding BrokerCodes}" SelectedValuePath="Key"
DisplayMemberPath="Value" Text="{Binding SelectedBroker, Mode=TwoWay}">
最佳答案
我猜您在找什么,如下。
public class ComboBoxPairs
{
public string _Key { get; set; }
public string _Value { get; set; }
public ComboBoxPairs(string _key,string _value )
{
_Key = _key ;
_Value = _value ;
}
}
然后继续像这样使用此类
List<ComboBoxPairs> cbp = new List<ComboBoxPairs>();
cbp.Add(new ComboBoxPairs("Microsoft", "MSFT"));
cbp.Add(new ComboBoxPairs("Apple", "AAPL"));
并将其绑定(bind)到您拥有的组合框
cmbBrokers.DisplayMemberPath = "_Key";
cmbBrokers.SelectedValuePath = "_Value";
cmbBrokers.ItemsSource = cbp;
当您需要访问它时,只需执行此操作
ComboBoxPairs cbp = (ComboBoxPairs)cmbBrokers.SelectedItem;
string _key = cbp._Key;
string _value = cbp._Value;
这就是您需要做的。