2009-06-21 10 views
2

사람은 실버/WPF 데이터 바인딩이 실제로 ProvinceCollection 단순히 문자열의 정적 배열 다음 코드Silverlight 데이터 바인딩 선택?

<ComboBox SelectedItem="{Binding Mode=TwoWay, Path=Province}" 
      ItemsSource="{StaticResource ProvinceCollection}" /> 

에서 같은 컬렉션의 selectedItem가로 설정 할 수있는 권리 항목입니다 결정 방법을 설명 할 수 있습니다.

이 예제에서는 항목이 문자열이며 따라서 값 유형이 충분히 간단하지만 런타임에로드 된 객체 인스턴스와 같이 더 복잡한 항목이 컬렉션에 포함되어있을 때 선택한 항목으로 설정할 항목을 어떻게 알 수 있습니까? ProvinceCollection의 (Datacontext) .Province 및 항목에 대한 개체 참조가 같아야한다고 생각하더라도 마찬가지입니다.

임 그냥이, ​​나는 '

답변

3

(같은 객체 참조가없는 항목이없는 즉,) 현재 데이터 컨텍스트의 항목이 컬렉션에없는 곳 모음에서 항목을 선택하려면 데이터 바인딩을 취득 할 트링 Silverlight 2에서 불쾌하게도 Object.ReferenceEquals (리플렉터에서 체크인)를 사용하므로이 개체는 실제로 동일한 개체 여야합니다. 이것은 매우 자극적입니다. 당신이 그것에 대해 할 수있는 일이 아무것도 없습니다. (

이것은 이제 Equals를 사용하는 Silverlight 3 (적어도 베타 버전)에서 수정되었으므로 Equals 메서드를 재정의하는 트릭을 사용할 수 있습니다.

관련 문제