Android,MvvmCross
从LinearLayout派生自定义控件。 此控件具有一些可能因用户交互而更改的属性。 这些属性绑定到ViewModel
public class MyControl: LinearLayout
{
..Constructors..
public int Selected
{
get {....}
set {....}
}
}
如何将“Selected”属性值更改后的通知实现回viewmodel?
*在WPF中,我会使用依赖属性
** INotifyPropertyChanged也应该有效,但是由于此控件已经从LinearLayout派生,因此它也不能从MvxNotifyPropertyChanged派生
答案 0 :(得分:2)
MvvmCross使用允许您将属性Foo
与event EventHandler FooChanged
如果您遵循该约定,那么双向绑定应该可以正常工作。
public int Selected
{
get {....}
set {....}
}
public event EventHandler SelectedChanged;
如果您不能遵守该惯例 - 例如如果您需要使用EventHandler<T>
或者您需要使用其他事件名称 - 那么您需要实现自定义绑定。
有关此主题以及自定义绑定的更多信息,请参阅http://mvvmcross.wordpress.com/中的N = 28