키 값 쌍을 사용하여 동작을 수행 할 수 없습니다. 아래 예제를 참조하십시오. 키에 대해 하나의 속성과 값에 대해 하나씩 두 개의 속성이있는 클래스를 만듭니다. 그런 다음이 클래스의 컬렉션을 itemssource로 바인딩하고 selectedvalue를 문자열 속성에 바인딩합니다. 즉 Datas.Countries는 클래스의 컬렉션입니다.
<ComboBox Name="cbSource" Grid.Row="1" Grid.Column="3"
ItemsSource="{Binding Datas.Countries, Mode=OneWay}"
SelectedValue="{Binding SomePropertyToHoldKeyValue, Mode=TwoWay}"
DisplayMemberPath="Value" SelectedValuePath="Key"></ComboBox>
나는 우리가 selectedItem가, SelectedValue, DisplayMemberPath 더 나은 예와 SelectedValuePath의 차이를 이해 수 있다고 생각합니다. Name 속성에
<ComboBox ItemsSource="{Binding Source={StaticResource Employees}}"
DisplayMemberPath="Name"
SelectedValuePath="Id"/>
DisplayMemberPath
점 때문에 콤보 상자에 표시되는 값 드롭 다운 목록에 포함 된 직원 항목됩니다
public class Employee
{
public int Id;
public string Name;
}
다음과 같은 XAML이 클래스를 참조하십시오 Employee 객체의 Name 속성이됩니다.
다른 두 가지를 이해하려면 먼저 SelectedItem
을 이해해야합니다. SelectedItem
은 현재 선택된 Employee 객체를 ComboBox에서 반환합니다. SelectedItem
에 Employee 개체를 할당하여 ComboBox에서 현재 선택 항목을 설정할 수도 있습니다.
SelectedValuePath
은 현재 선택된 직원의 ID를 SelectedValue
으로 가져올 수 있음을 나타냅니다. SelectedValue
을 ID (Employees 목록에 있음)로 설정하여 ComboBox에서 현재 선택된 Employee를 설정할 수도 있습니다.
나는 당신이 여기서 물어 보려고하는 것을 얻지 못한다. 명확히하십시오. – Martin