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 に答える