in BluetoothLEExplorer/BluetoothLEExplorer/ViewModels/CharacteristicPageViewModel.cs [740:788]
public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary<string, object> suspensionState)
{
await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(
Windows.UI.Core.CoreDispatcherPriority.Normal,
() =>
{
if(Services.SettingsServices.SettingsService.Instance.SettingsDictionary.Keys.Contains(Characteristic.UUID + "-UseWindowsNotification"))
{
UseWindowsNotifications = (bool)Services.SettingsServices.SettingsService.Instance.SettingsDictionary[Characteristic.UUID + "-UseWindowsNotification"];
}
});
if (Characteristic.Characteristic.CharacteristicProperties != GattCharacteristicProperties.None)
{
StringBuilder sb = new StringBuilder();
bool first = true;
foreach (GattCharacteristicProperties p in Enum.GetValues(typeof(GattCharacteristicProperties)))
{
if (p == GattCharacteristicProperties.None)
{
continue;
}
if (GattServiceUuidHelper.IsReadOnly(Characteristic.Characteristic.Service.Uuid) &&
(p == GattCharacteristicProperties.Write || p == GattCharacteristicProperties.WriteWithoutResponse))
{
continue;
}
if (Characteristic.Characteristic.CharacteristicProperties.HasFlag(p))
{
if (!first)
{
sb.Append(", ");
}
else
{
first = false;
}
sb.Append(Enum.GetName(typeof(GattCharacteristicProperties), p));
}
}
Properties = sb.ToString();
}
}