Ich habe versucht, MVVM mit MessagingCenter von meinem ViewModel zu implementieren. erhielt ich den folgenden Fehler, weil Multiples Threads die gleiche Meldung „ClearStackLayout“ erhalten und nicht das Ende eines jeden anderen Rückruf warten:warten auf MessagingCenter in Xamarin Forms
Index außerhalb der Grenzen des Arrays war.
Hier ist meine Ansicht Code:
public partial class LibraryChoicePage : DefaultBackgroundPage {
private Object thisLock = new Object();
public LibraryChoicePage() {
InitializeComponent();
/* ClearStackLayout */
MessagingCenter.Subscribe<LibraryChoiceViewModel>(this, "ClearStackLayout", (sender) => {
lock (thisLock) {
this._choices.Children.Clear();
}
});
/* AddToStackLayout */
MessagingCenter.Subscribe<LibraryChoiceViewModel, View>(this, "AddToStackLayout", (sender, arg) => {
lock (thisLock) {
this._choices.Children.Add(arg);
}
});
}
}