Files
modernkeepass/WinAppCommon/Actions/NavigateToUrlAction.cs

36 lines
1.1 KiB
C#
Raw Permalink Normal View History

using System;
using Windows.UI.Xaml;
using GalaSoft.MvvmLight.Views;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Xaml.Interactivity;
namespace ModernKeePass.Actions
{
public class NavigateToUrlAction : DependencyObject, IAction
{
public string Url
{
get { return (string)GetValue(UrlProperty); }
set { SetValue(UrlProperty, value); }
}
public static readonly DependencyProperty UrlProperty =
DependencyProperty.Register("Url", typeof(string), typeof(NavigateToUrlAction), new PropertyMetadata(string.Empty));
public object Execute(object sender, object parameter)
{
try
{
var uri = new Uri(Url);
return Windows.System.Launcher.LaunchUriAsync(uri).GetAwaiter().GetResult();
}
catch (Exception ex)
{
var dialogService = App.Services.GetRequiredService<IDialogService>();
dialogService.ShowError(ex, ex.Message, null, () => {}).Wait();
return false;
}
}
}
}