私はViewModelからMessagingCenterを使用してMVVMを実装しようとしました。 倍数のスレッドが同じメッセージ「ClearStackLayout」を受信し、互いのコールバックの終了を待っていないので、私は次のエラーを取得:XamarinフォームでMessagingCenterを待機します
インデックスが配列の範囲外でした。ここで
私のビューのコードは次のとおりです。
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);
}
});
}
}