UWP 唤起应用商城,邮件

UWP做到收尾工作的时候,一般需要在应用内做一个关于页面,用于放你的邮箱链接,商店评论链接等。。

一:打开链接

打开链接有两种做法

1.用 HyperlinkButton  (超链接按钮)这个控件,给它的NavigateUri属性设置你要跳转的页面的地址

<HyperlinkButton Margin="5,0,5,0"
                 Width="50"
                 Height="50"
                 NavigateUri="http://weibo.com/liushu845447380">

但是HyperlinkButton里的内容是文字的时候,会在文字下面加上一条下划线,貌似改模板也去不掉(可能不对),有些人应该不喜欢这个下换线。

2.用普通的控件,比如Button控件,加个Click点击事件,在后台写个打开指定网页的代码,也可以实现跳转。

<Button Foreground="White"
        Margin="0,10,0,0" 
     Click="RateApp">
         给我点个赞.
</Button>

给button加个click事件

/// <summary>
/// 点击跳到评论页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private async void RateApp(object sender, RoutedEventArgs e)
{  
  var a = await Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?productid=9n9s9lsrpc7q")); }

用Launcher这个类里面的LaunchUriAsync() 方法。通过异步的方式,跳转到你指定的uri地址。

这个和webview还是有区别的,webview是在应用自己内的一个控件,Launcher这个类会唤起系统里的浏览器,外部进行跳转。

二:打开应用链接和评价应用链接

打开指定应用地址: ms-windows-store://pdp/?productid=9n9s9lsrpc7q    

            9n9s9lsrpc7q这个字符串是软件的id,具体的id要到开发者中心去找

跳到应用商店中评价应用:ms-windows-store://review/?productid=9n9s9lsrpc7q

         9n9s9lsrpc7q同样这个也是软件的id

三:发送邮件

private async void EmailToMe(object sender, RoutedEventArgs e)
{
  //收件人
  EmailRecipient emailRecipient1 = new EmailRecipient("zwmao@outlook.com");
  EmailRecipient emailRecipient2 = new EmailRecipient("845447380@qq.com");
     
//具体的一封email   EmailMessage emailMessage = new EmailMessage();
  
//给邮件添加收件人,可以添加多个   emailMessage.To.Add(emailRecipient1);   emailMessage.To.Add(emailRecipient2);   //通过邮件管理类,生成一个邮件 简单来说 帮你唤起设备里的邮件软   await EmailManager.ShowComposeNewEmailAsync(emailMessage); }

将这个事件与Click绑定一下就基本可以用了。

 

 -----some words----

1.Hyperlink 超链接

2.Navigate 导航

3.Launcher 发射器

4.async 异步

5.Recipient 收件人

6.Email 邮件

7.compose 组成

--------the end-------

原文地址:https://www.cnblogs.com/MzwCat/p/7667702.html