私はこのオブジェクトをViewModel A
からViewModel B
に渡しているPerson
オブジェクトを持っています。MVVMCrossのキャプチャ編集テキストの変更
View B
には、この情報を次のように表示します。ここで
<EditText
style="@style/InputNumbersEditText"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="36dp"
local:MvxBind="Text EditPerson.Age, Converter=Nullable, ConverterParameter='0.0'" />
<EditText
style="@style/InputNumbersEditText"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="36dp"
local:MvxBind="Text EditPerson.Salary, Converter=Nullable, ConverterParameter='0.0'" />
は私がこれらのEditText
のいずれかを編集するときに、デバッグモードでは、それがすべてでEditPerson
プロパティに当たらないだろViewModel B
public Person EditPerson
{
get { return _editPerson; }
set
{
_editPerson = value;
RaisePropertyChanged(() => EditPerson);
}
}
でEditPerson
プロパティです。
Salary
とAge
のように、それぞれのボックスでEditText
の変更をキャプチャするにはどうすればよいですか?
どのようにあなたがVM_BにVM_Aからオブジェクトを渡している:次に、あなたは人の任意のプロパティの変更を聞くことができますか?これは複雑なオブジェクト型であるため、直列化が必要です。 –
私は 'ViewModel A'から' ViewModel B'に 'personId'を渡して、対応する' Person'オブジェクトを取得するために再びサービスを呼び出します。それは働いて、私は選択された '人'を見ることができた。 EditTextには選択されたPerson SalaryとAgeも表示されますが、AgeやSalaryなどの 'EditText'を変更すると' EditPerson'プロパティにヒットしません。 – hotspring
なぜそれが 'EditPerson'にヒットするのですか?あなたの 'EditText'に単純な' onTextChangedListener'を使わないのはなぜですか? –