當我嘗試使用MvvmCross框架將我的Android按鈕的「Enabled」屬性綁定到ViewModel的布爾值時,出現問題,我真的不知道它的起源。將Android按鈕的Enabled屬性與MvvmCross綁定
所以我有一個包含以下兩個性質的視圖模型:
private ProjectDetailDTO _projectDetail;
public ProjectDetailDTO ProjectDetail
{
get { return this._projectDetail; }
set
{
_projectDetail = value;
RaisePropertyChanged(() => ProjectDetail);
RaisePropertyChanged(() => HasPicture);
}
}
private bool _hasPicture;
public bool HasPicture
{
get { return ((this.ProjectDetail != null) && !String.IsNullOrEmpty(this.ProjectDetail.Pictures)); }
set { _hasPicture = value;
RaisePropertyChanged(() => HasPicture);
}
}
正如你所理解,我的按鈕是綁定到HasPicture財產。所以,我有我的按鈕下面的代碼在我.axml文件:
<Button
local:MvxLang="Text LblSeePicturesValue"
local:MvxBind="Enabled HasPicture,Click ShowProjectPicturesCommand"
android:id="@+id/buttonPictures"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
我不認爲這是一個ViewModel的問題,因爲我的WP應用與此代碼工作得很好。實際上,我的ProjectDetailDTO是通過調用Web服務填充的,所以通過異步方法。我認爲這是爲什麼當綁定被實現時,HasPicture屬性具有錯誤值。但是用我的ViewModel代碼,當ProjectDetailDTO被填充時,HasPicture屬性應該被更新。我的Android視圖中有什麼錯誤嗎?
感謝您的幫助!
謝謝您再次爲你的幫助斯圖爾特,用你的線代替我的線'解決了我的問題。 –