1

安卓,MvvmCross

制作从 LinearLayout 派生的自定义控件。此控件的某些属性可能会因用户交互而改变。这些属性绑定到 ViewModel

public class MyControl: LinearLayout
{
    ..Constructors..

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

如何实现通知视图模型“已选择”属性值已更改?

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

**INotifyPropertyChanged 也应该可以工作,但是由于这个控件已经从 LinearLayout 派生,它也不能从 MvxNotifyPropertyChanged 派生

4

1 回答 1

2

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

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

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

public event EventHandler SelectedChanged;

如果您不能遵循该约定 - 例如,如果您需要使用EventHandler<T>或需要使用不同的事件名称 - 那么您将需要实现自定义绑定。


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

于 2013-07-10T10:53:43.673 回答