private void Beacon_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { Beacon beacon = (sender as Beacon); if (e.PropertyName == "ProximityStatus") { if (beacon.ProximityRange == Beacon.ProximityRangeEnum.Immediate && beacon.ProximityStatus == Beacon.ProximityStatusEnum.GettingCloser && beacon.BeaconFrames.Count > 0 && beacon.BeaconType == Beacon.BeaconTypeEnum.Eddystone) { SelectedBeacon = beacon; SetNotificationContent(beacon); if (beacon.GetUrlEddystoneFrame() != null) { _notificationsService.NotifyWithUrl(NotificationTitle, NotificationBody, NotificationParameter.ToString()); } else if (beacon.GetTlmEddystoneFrame() != null) { _notificationsService.NotifyWithTemperature(NotificationTitle, NotificationBody, (float)NotificationParameter); } } else if (beacon.ProximityRange == Beacon.ProximityRangeEnum.Far && beacon.ProximityStatus == Beacon.ProximityStatusEnum.GettingFurther && beacon.BeaconFrames.Count > 0 && beacon.BeaconType == Beacon.BeaconTypeEnum.iBeacon && beacon.GetProximityFrame() != null) { SelectedBeacon = beacon; SetNotificationContent(beacon); _notificationsService.NotifyWithDistance(NotificationTitle, NotificationBody, (double)NotificationParameter); } } }