public async Task OnBeaconEvent(BeaconEventArgs eventArgs) { try { Beacon beacon = eventArgs.Beacon; if (eventArgs.EventType != BeaconEventType.None) { Logger.Debug("MainPage.OnBeaconEventAsync: '" + eventArgs.EventType + "' event from " + beacon); } bool isExistingBeacon = false; if (BeaconModel.Contains(beacon)) { if (eventArgs.EventType == BeaconEventType.Exit) { await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Low, () => BeaconModel.Remove(beacon)); } else { BeaconModel.AddOrReplace(beacon); } isExistingBeacon = true; } if (!isExistingBeacon) { BeaconModel.AddOrReplace(beacon); } } catch (Exception e) { Logger.Error("Error while add/update beacon", e); } }