Binden Sie die Enabled-Eigenschaft eines Android-Taste, mit der MvvmCross
Ich habe ein problem, wenn ich versuche, Sie zu binden, die "Enabled" - Eigenschaft von meinem Android-Taste, um einen booleschen meinem ViewModel mit dem MvvmCross framework und ich weiß wirklich nicht, die Herkunft des es.
Also ich habe ein ViewModel enthält die beiden folgenden Eigenschaften :
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);
}
}
Als würden Sie verstehen, meine-Taste ist die Bindung an die HasPicture Eigenschaft. Also ich habe folgenden code für meinen button in meine .axml-Datei :
<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" />
Ich glaube nicht, dass es ein ViewModel problem, weil meine WP-Anwendung funktioniert mit diesem code. In der Tat, meine ProjectDetailDTO gefüllt ist, durch das aufrufen eines web-service, so dass durch eine asynchrone Methode. Ich denke, es ist, warum, wenn die Bindung realisiert wird, die HasPicture-Eigenschaft den Wert false. Aber mit meinem ViewModel-code, der HasPicture Eigenschaft sollte aktualisiert werden, wenn die ProjectDetailDTO gefüllt ist. Gibt es irgendetwas, was ich falsch gemacht habe in meinem Android Anzeigen?
Vielen Dank für jede Hilfe!!!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, was Sie hier sehen, ist eine gewisse Interaktion zwischen
ICommand.CanExecute
und dieEnabled
Eigenschaft. Es gibt eine Diskussion darüber auf https://github.com/MvvmCross/MvvmCross/issues/729Um dies zu umgehen, versuchen Sie, die Umstellung der Bindung auf:
(Beachten Sie auch, dass der separator in der Bindung ist ein
;
- nicht,
)