2013-05-02 3 views
2

콤보 상자에 사전을 바인딩하려하지만 UI에는 빈 항목 만 바인딩 된 것으로 표시됩니다. 아래의 코드를 찾아서 제가 잘못하고있는 것을 알려주십시오.콤보 상자에 바인딩 사전

코드 :

private Dictionary<string, string> _timeToExpirationValues = 
new Dictionary<string, string>  { "< 15 Days", "15" }, 
            { "< 30 Days", "30" }, 
            { "< 60 Days", "60" }, 
            { "< 90 Days", "90" }, 
            { "< 1 year", "365" }}; 


     /// <summary> 
     /// Gets or sets the filter settings data. 
     /// </summary> 
     /// <value> 
     /// The filter settings data. 
     /// </value> 
     public Dictionary<string, string> TimeToExpirationValues 
     { 
      get { return _timeToExpirationValues; } 
      set { SetProperty(ref _timeToExpirationValues, value); } 
     } 

XAML 코드 : 표시된 무엇

<ComboBox Grid.Row="1" Grid.Column="1" 
            ItemsSource="{Binding TimeToExpirationValues}" 
            DisplayMemberPath="Key" 
            SelectedValuePath="Value" /> 

은 다음과 같습니다 :

enter image description here

답변

0

이 (여분의 단어 Path주의)하십시오 :

<ComboBox Grid.Row="1" Grid.Column="1" 
           ItemsSource="{Binding Path=TimeToExpirationValues}" 
           DisplayMemberPath="Key" 
           SelectedValuePath="Value" /> 
+0

나는 노력이도하지만 그 많은 항목이 바인더 제본하지만 UI에 표시되지 않은 것을 사실 내가 볼 수 –

+0

작업? –

1

DataContext를 창 또는 ComboBox로 설정 했습니까? 그렇지 않다면이 줄을 창에 추가해야합니다.

<Window.DataContext> 
     <local:YourClassName/> 
    </Window.DataContext> 
0

나는 당신의 예를 시도했는데 여기에서 효과가있었습니다.

그래서 저는 combox 내부의 레이블에 흰색 전경이 있다고 생각합니다. (어쩌면 app.xaml에서 스타일로 선언 되었습니까?).

관련 문제