将TextBox绑定到Dictionary的键

时间:2013-07-15 13:22:06

标签: c# wpf dictionary

我目前正在使用MVVM Light Toolkit并在WPF C#中创建应用程序。我目前在我的XAML中有一个ComboBox,如下所示:

<ComboBox Height="23" HorizontalAlignment="Left" Margin="367,39,0,0" Name="comboBox1" VerticalAlignment="Top" Width="156" ItemsSource="{Binding Combo_Major_Commands}"/>

在代码中:

private Dictionary<string, string> _combo_Major_Commands;
public Dictionary<string, string> Combo_Major_Commands
{
    get { return _combo_Major_Commands; }
    private set;
}

现在在我的运行时代码中我初始化它并添加我需要的项目如下:

_combo_Major_Commands = new Dictionary<string, string>();
_combo_Major_Commands.Add("Standby", "STBY");
_combo_Major_Commands.Add("Operate", "OPER");
_combo_Major_Commands.Add("Remote", "REMOTE");
_combo_Major_Commands.Add("Local", "LOCAL");

有没有办法将我的ComboBox绑定到关键值?目前它绑定到整个值并显示以下内容

[Standby, STBY]

在组合框中。

1 个答案:

答案 0 :(得分:6)

您需要在KeyValuePair上设置DisplayMemberPath来设置要显示的ComboBox部分:

<ComboBox ... ItemsSource="{Binding Combo_Major_Commands}" DisplayMemberPath="Key"/>