2013-07-10 47 views
1

Android,MvvmCross使用MvvmCross的Android用戶控件中某些類的依賴項屬性

製作從LinearLayout派生的自定義控件。 此控件的某些屬性可能因用戶交互而發生更改。 這些屬性綁定到一個ViewModel

public class MyControl: LinearLayout 
{ 
    ..Constructors.. 

    public int Selected 
    { 
     get {....} 
     set {....} 
    } 
} 

如何實現一個通知回到視圖模型「選定」屬性值更改?

*在WPF我會用一個依賴屬性

** INotifyPropertyChanged的也應該工作,但是由於這種控制已經從LinearLayout中派生,它不能也從MvxNotifyPropertyChanged

獲得

回答

2

MvvmCross使用,使您的會議鏈接屬性Fooevent EventHandler FooChanged

如果遵循該約定,則雙向綁定應該可以正常工作。

public int Selected 
{ 
    get {....} 
    set {....} 
} 

public event EventHandler SelectedChanged; 

如果你不能遵循該約定 - 例如,如果您需要使用EventHandler<T>或者您需要使用不同的事件名稱 - 那麼您需要實施自定義綁定。


更多關於此主題的,以及自定義的綁定過,見N =在http://mvvmcross.wordpress.com/

+0

28正如經常,司徒回答了這個問題的虛擬油墨乾燥之前。謝謝! –

相關問題