Combobox绑定到Dictionary并检索关联的字典键

时间:2013-06-14 21:23:21

标签: wpf xaml data-binding dictionary combobox

我有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");
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

如果您使用的是SelectedItem,您的属性将获得整个对象(在您的情况下,属性将获得带有键和值的字典元素)。如果您想获得关键值或仅值,请尝试使用SelectedValue。但这取决于您设置SelectedValuePath的方式。

此致