2014-03-26 2 views
1

ListBox를 만들고 싶습니다. 사용자가 항목을 여러 개 선택할 수 있습니다 (예 : 항목 삭제).다중 선택이있는 MvvmCross 및 ListBox

MvvmCross로 이것을 수행하거나 구현하는 방법은 무엇입니까?

Windows Phone 및 WinRT 플랫폼 용 앱을 만들고 MvvmCross를 사용하고 싶습니다.

Windows phone의 경우이 기능을 지원하는 LongListMultiSelector Control (Windows Phone Toolkit)이 있습니다. 그러나 .xaml 페이지에서 더 많은 코드가 뒤 따른다. 또한 크로스 플랫폼 앱을 더욱 복잡하게 만듭니다.

문제에 대한 다른 크로스 플랫폼 솔루션이 있습니까? (MvvmCross 도움말에서 유용합니다)?

미리 감사드립니다.

답변

1

일반적으로 각 목록 항목의보기 모델에서 선택 상태를 선택하여 여러 선택을 처리합니다.

예를 들어 다중 선택하고 싶은 Apple의 목록이 있다고 가정합니다. 이를 지원하기 위해, 내 뷰 모델에 나는 ChooseableApple의 목록이 노출 될 수 - 같이 정의 :

public class ChooseableApple : MvxNotifyPropertyChanged 
{ 
    public Apple Apple { /* INPC - get,set */ } 
    public bool IsSelected { /* INPC - get,set */ } 
} 

이는 나를 선택 상태에 대한 IsSelected에 목록 항목 템플릿 내에서 결합 할 수있다. 및 Name, Colour 같은 속성 Apple에 등

이 '내장'컨트롤 내에서 SelectedItem 종류의 호텔이 완벽하게 작동하지 않을 수 있습니다 -하지만 이러한 속성 어쨌든 터치 환경에 덜 이해하는 경향이 - 그들은 훨씬 더 적합하다 키보드 및 마우스 환경 (IMO)