我有ComboBox
,我绑定了Dictionary
。这是代码:
<ComboBox Height="24" Name="comboBoxQuery" Width="300" ItemsSource="{Binding QueryNames}" SelectedItem="{Binding SelectedQueryNames}" SelectedValuePath="Key" DisplayMemberPath="Value" Visibility="{Binding Path=ComboVisibility, Converter={StaticResource BoolToVis}}" />
现在,当我尝试获取所选值时,我会得到一个包含键和值的字符串。 例如:[1,“ABC”]
我的视图模型代码:
public Dictionary<int, string> QueryNames
{
get
{
return m_ReadOnlyQueryNames;
}
set
{
m_queryNames = value;
OnPropertyChanged("QueryNames");
}
}
private string m_SelectedQueryNames;
public string SelectedQueryNames
{
get
{
return m_SelectedQueryNames;
}
set
{
if (m_SelectedQueryModule != value) <!-- value returns [1, "abc"]-->
{
m_SelectedQueryModule = value;
OnPropertyChanged("SelectedQueryNames");
}
}
}
答案 0 :(得分:0)
如果您使用的是SelectedItem
,您的属性将获得整个对象(在您的情况下,属性将获得带有键和值的字典元素)。如果您想获得关键值或仅值,请尝试使用SelectedValue
。但这取决于您设置SelectedValuePath
的方式。
此致