2013-01-17 6 views
1

WPF 및 MVVM 라이트 프레임 워크를 사용하고 있습니다.MVVM 라이트로 콤보 박스의 선택을 취소하는 방법

콤보 상자의 선택을 취소하는 방법을 알고 싶습니다. 예를 들어

는 :

  • 기본 선택은 "텍스트 1"
  • 사용자 선택 콤보 상자에서 "텍스트 2", 나는 작업을 확인하는 대화 상자 (예/아니오)을 표시 할 때
  • 사용자는 "아니오"난에 "텍스트 1"값을 다시 되돌리려 클릭하면

지금까지 내 XAML은 다음과 같이이다 :

내 콤보 상자의 이름이없는

public ObservableCollection<TextItem> SourceData { get; set; } 

:

은 내 바인딩 SourceData는 나의 MainViewModel.cs에 정의되어 있습니다. 바인딩 방법을 사용하여 선택을 되돌릴 수있는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

감사합니다. 내부적으로 값을 설정하기 전에 바운드 프로퍼티의 뷰 모델의 설정에서 (테스트하지)

답변

1

, 확인 대화 상자를 호출합니다. 대답이 '예'인 경우에만 개인 값을 설정하고 두 경우 모두 변경된 속성을 올리십시오.

확인 가능한 대화 상자 인터페이스가있는 경우 테스트 가능한 상태로 유지됩니다.

0

난 그냥 당신이 사용하는 eventtocommand 콤보 상자의 selecteditemchanged 이벤트 릴레이 명령에 바인드 할 필요가 this link

보기 목록보기

으로이 높아졌습니다. 선택 사항은 변경되지만 로직을 검증하고 필요할 경우 다시 변경할 수 있습니다.

0

ICollectionView이 선택 기간에 가장 일반적으로 사용됩니다.
MoveCurrentToPrevious()은 현재 선택 항목에서 이전 선택 항목으로 이동하며, 사용자가 찾고있는 항목입니다. 그래서 ComboBox에 묶어서 사용하십시오! for more info in MSDN 도움이되기를 바랍니다.

0

나는 UI 스레드에 의한 원인과 biding이 작동하는 것과 같은 문제가있었습니다. 이 링크를 확인하십시오 : SelectedItem on ComboBox

샘플의 구조는 코드를 사용하지만 MVVM은 완전히 동일합니다.

관련 문제