2014-03-26 47 views
1

我想創建列表框。 用戶可以選擇多個項目(例如刪除項目)。MvvmCross和多選的列表框

如何使用MvvmCross執行此操作?

我打算爲windows phone和WinRT平臺創建一個應用程序,我想使用MvvmCross。

對於windows phone,我發現支持此功能的LongListMultiSelector控件(Windows Phone Toolkit)。但它導致更多的代碼在.xaml頁面。此外,它使跨平臺應用程序更復雜。

是否有任何其他跨平臺解決方案的問題(最好與幫助MvvmCross)?

在此先感謝!

回答

1

通常,我通過在每個列表項的視圖模型中放置選擇狀態來處理多個選擇。

例如,假設我有一個我想要多選的Apple列表。爲了支持這一點,在我的視圖模型我將暴露的ChooseableApple的List - 等被定義:

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

這將然後讓我的列表項模板中綁定到IsSelected爲選擇狀態。並AppleNameColour性能等

這可能不是以「內置的」控件中SelectedItem型性能完美地工作 - 而這些特性往往使觸摸的環境沒有多大意義呢 - 他們更適合到鍵盤和鼠標環境(IMO)