使用MvvmCross在Android usercontrol中的某些排序的依赖属性

时间:2013-07-10 10:32:03

标签: xamarin.android xamarin mvvmcross

Android,MvvmCross

从LinearLayout派生自定义控件。 此控件具有一些可能因用户交互而更改的属性。 这些属性绑定到ViewModel

public class MyControl: LinearLayout
{
    ..Constructors..

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

如何将“Selected”属性值更改后的通知实现回viewmodel?

*在WPF中,我会使用依赖属性

** INotifyPropertyChanged也应该有效,但是由于此控件已经从LinearLayout派生,因此它也不能从MvxNotifyPropertyChanged派生

1 个答案:

答案 0 :(得分:2)

MvvmCross使用允许您将属性Fooevent EventHandler FooChanged

相关联的约定

如果您遵循该约定,那么双向绑定应该可以正常工作。

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

public event EventHandler SelectedChanged;

如果您不能遵守该惯例 - 例如如果您需要使用EventHandler<T>或者您需要使用其他事件名称 - 那么您需要实现自定义绑定。


有关此主题以及自定义绑定的更多信息,请参阅http://mvvmcross.wordpress.com/中的N = 28