我目前正在使用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}"/>
Run Code Online (Sandbox Code Playgroud)
并在代码中:
private Dictionary<string, string> _combo_Major_Commands;
public Dictionary<string, string> Combo_Major_Commands
{
get { return _combo_Major_Commands; }
private set;
}
Run Code Online (Sandbox Code Playgroud)
现在在我的运行时代码中我初始化它并添加我需要的项目,如下所示:
_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");
Run Code Online (Sandbox Code Playgroud)
有没有办法将我的ComboBox绑定到键值?目前它绑定到整个值并显示以下内容
[Standby, STBY]
Run Code Online (Sandbox Code Playgroud)
在组合框中.
您需要将其中一部分KeyValuePair要通过设置显示DisplayMemberPath在ComboBox:
<ComboBox ... ItemsSource="{Binding Combo_Major_Commands}" DisplayMemberPath="Key"/>
Run Code Online (Sandbox Code Playgroud)