private async void ExecuteHyperlinkNavigation(object obj)
{
if (obj is NotifyEventArgs)
{
var e = ((NotifyEventArgs)obj);
var isUri = Uri.IsWellFormedUriString(e.Value, UriKind.RelativeOrAbsolute);
if (isUri)
{
// Search Tag
if (e.Value.Contains("arcgis://search/"))
{
var search = e.Value.Split(new[] { "arcgis://search/" }, StringSplitOptions.None)[1];
search = Uri.UnescapeDataString(search);
(new NavigationService()).Navigate(typeof(SearchPage), search);
}
else
{
// Launch Default Browser
var success = await Launcher.LaunchUriAsync(
new Uri(e.Value, UriKind.RelativeOrAbsolute),
new LauncherOptions { DesiredRemainingView = ViewSizePreference.UseHalf });
}
}
}
}