我有一個Person
對象,我將此對象從ViewModel A
傳遞到ViewModel B
。在MVVMCross中捕獲EditText更改
在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'" />
這裏是在ViewModel B
public Person EditPerson
{
get { return _editPerson; }
set
{
_editPerson = value;
RaisePropertyChanged(() => EditPerson);
}
}
的EditPerson
屬性我不知道,當我修改這些EditText
的,在調試模式下,它不打EditPerson
物業都沒有。
如何爲每個方塊捕獲EditText
變化,即Salary
和Age
?
你是如何從VM_A傳遞對象VM_B?因爲這是一個複雜的對象類型,需要序列化。 –
我只是從'ViewModel A'傳遞'personId'到'ViewModel B',然後再次調用服務來獲得相應的'Person'對象。它的工作原理,我可以看到選定的「人」。它還在EditText中顯示選定的人員工資和年齡,但是當我更改'EditText'如Age或Salary時,它不會觸及'EditPerson'屬性。 – hotspring
它爲什麼會碰到EditPerson?你爲什麼不爲你的EditText使用簡單的'onTextChangedListener'? –