2013-07-15 2 views
2

저는 현재 MVVM Light Toolkit을 사용하고 WPF C#에서 응용 프로그램을 만듭니다. 나는 현재과 같이 내 XAML에 콤보 상자가 있습니다TextBox를 사전 키에 바인딩

<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] 

콤보 박스에서.

답변

6

당신은 설정하여 표시 할 KeyValuePair의 어느 부분 설정해야 DisplayMemberPathComboBox에 :

<ComboBox ... ItemsSource="{Binding Combo_Major_Commands}" DisplayMemberPath="Key"/> 
관련 문제