안녕하세요, 저는 ViewModel에 CollectionViewSource 속성이 있습니다.ComboBox를 CollectionViewSource에 바인딩하는 올바른 방법
이 뷰 모델은 콤보 상자에이 방법을 바인딩 :
<ComboBox ItemsSource="{Binding Products.View}"
SelectedItem="{Binding SelectedEntity.Product}"
IsSynchronizedWithCurrentItem="True"/>
잘 작동 기존 SelectedEntity 바인딩.
SelectedEntity
에 바인딩하려고하면 목록에서 첫 번째 항목을 표시하려고합니다. 따라서 Products.View.MoveCurrentToFirst()
을 사용해 보았지만 첫 번째 항목은 여전히 표시되지 않습니다. 내가 설정 한 경우
그것은 물론 작동 SelectedEntity.Product = Products.View.CurrentItem.
무엇 난 내 코드를 개선하기 위해 할 수 있습니까? 이것은 다소 나쁘게 보입니다 ...
추가 정보가 필요합니다. "제품이 없습니다"- 제품이 null이거나 제품 속성이 없음을 의미합니까? 아니면 둘 중 하나? 어디에서 MoveCurrentToFirst를 호출합니까? CurrentItem에 대한 할당은 어디에서 수행하고 있습니까? – humanitas
제품이 null입니다. 내 ViewModel의 생성자에서 할당을 호출합니다. – TheJoeIaut
CollectionViewSource를 xaml에 정의하고 ViewModel의 컬렉션에 바인딩 한 다음 ItemsControl (ComboBox)의 ItemsSource를 CollectionViewSource에 바인딩 할 수 있습니다. CollectionViewSource는 뷰의 일부입니다. – user1834059