0
나는 간단한 사전을 가지고 있습니다. 나는 콤보 박스에 i를 바인딩하고 선택한 값을 다른 속성에 바인딩하고 싶다.소스가 사전에있는 콤보 박스
private const string CellListPropertyName = "CellList";
private Dictionary<string, string> _cellList;
public Dictionary<string, string> CellsList
{
get { return _cellList; }
set
{
_cellList = value;
RaisePropertyChanged(CellListPropertyName);
}
}
여기 내 코드입니다 :
<ComboBox x:Name="comboBox"
ItemsSource="{Binding CellsList}"
DisplayMemberPath="Value"
SelectedValuePath="Key"
SelectedValue="{Binding Path=Conf:ConfProperties.Title}">
나는 다른 방법을 많이 시도했지만 내 콤보는 내가 62 개 요소가 포함되어 내 사전 점검 (등, 심지어 ItemTemplates으로) 항상 비어 있습니다.
또한 'SelectedValue'를 내 DataContext에 정의 된 속성에 바인딩하려고했지만 여전히 작동하지 않습니다.
여기에 바인딩 조금 이상한 보이는 내 상황에 맞는
<UserControl.DataContext>
<viewModel:ParametersViewModel></viewModel:ParametersViewModel>
</UserControl.DataContext>
사전 데이터 바인딩을 지원하지 않습니다하십시오를 업데이트해야합니다. 여기를보십시오 : http://stackoverflow.com/questions/2636828/binding-to-a-dictionary-in-silverlight-with-inotifypropertychanged. 사전 대신 ObservableCollection과 비슷한 것을 사용할 수 있습니다. –
방금 실수 한 것을 보았습니다. 's'을 잊었습니다.>><내 콤보 상자가 가득 찼습니다. 바인딩이 작동하는지 확인하려고합니다. 그렇지 않으면 ObservableCollection을 사용해 보겠습니다. 감사합니다 – Pierpowl
Dr.WPF 여기에'ObservableDictionary'에 대한 훌륭한 기사가 있습니다 : http://drwpf.com/blog/2007/09/16/can-i-bind-my-itemscontrol-to-a-dictionary/ –