如何从Silverlight应用程序中打开新浏览器中的URL

Jam*_*tie 2 silverlight-5.0

我们有MVVM Silverlight应用程序.我试图从客户端viewmodel上发生的按钮点击事件打开web url,并通过invoke方法需要在新浏览器中打开web url.

我在服务器端代码中使用Process.Start方法,如下所述.

   var URL = @"http://SiteSelect.aspx";
   SecureString secure = new SecureString();
   char[] passwordChars = Properties.Settings.Default.Password.ToCharArray();
   //converting string to securestring...found from internet
    foreach (char c in passwordChars)
           {
             secure.AppendChar(c);
           }
    Process.Start(URL,"",Properties.Settings.Default.User,secure,"agent");
Run Code Online (Sandbox Code Playgroud)

这会引发与用户名和密码相关的错误.我查了用户名和密码是否正确.任何人都有解决方案或我可以使用的任何其他方法?

谢谢,

Rum*_*lin 5

您创建一个帮助程序类:

public static class CommonHelper
{
    private class HyperlinkButtonWrapper : HyperlinkButton
    {
        public void OpenURL(string navigateUri)
        {
            OpenURL(new Uri(navigateUri, UriKind.Absolute));
        }

        public void OpenURL(Uri navigateUri)
        {
            base.NavigateUri = navigateUri;
            base.TargetName = "_blank";
            base.OnClick();
        }
    }

    public static void OpenURL(string navigateUri)
    {
        new HyperlinkButtonWrapper().OpenURL(navigateUri);
    }
 }
Run Code Online (Sandbox Code Playgroud)

用法:

CommonHelper.OpenURL(@"http://SiteSelect.aspx");
Run Code Online (Sandbox Code Playgroud)