win10 uwp 装机必备应用 含源代码
zhxilin大神在文章说到了使用await Windows.System.Launcher.LaunchUriAsync(new Uri(uri));
打开应用商店
我想到了装机必备的一个软件,就是通过上面的代码来推荐应用给大家
大概界面请看下面
界面不好看求轻喷,毕竟只是这个界面只是告诉大家这个功能如何做
我设计了 MainPage.xaml 拥有两个 Frame 和单例model
从 https://www.microsoft.com/zh-cn/store/top-free/apps/pc 得到软件图片,如下面图片就是拿到 QQ 的图片
为了在用户点击的时候可以跳转到商店,可以设置点击的是按钮,按钮Button可以设置Content为Grid所以就可以设置图片和文字,请看下面代码。我特意用 QQ 的图片,文字写了 搜狐视频
,点击这个按钮可以跳转到商店
<Button.Content><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions><Image Source="ms-appx:///Assets/QQ.png" Grid.Row="0" ScrollViewer.VerticalScrollBarVisibility="Disabled" /><TextBlock Text="搜狐视频" Grid.Row="1" HorizontalAlignment="Center" /></Grid></Button.Content></Button>
button 设置大小和图片一样,就可以把图片填到button作为按钮的图片
点击按钮通过先获得应用软件 ProductId 这个应用的 id 就是通过商店的链接最后的字符串找到的,如 QQ 的应用链接请看下面,可以看到最后的字符串就是他的 id 通过 这个id 就可以跳转到商店
下面就是跳转到商店的代码
string uri = "ms-windows-store://pdp/?ProductId=9wzdncrfj1ps";await Windows.System.Launcher.LaunchUriAsync(new Uri(uri));
在按钮写<Button Click="QQ_Click" Width="50" Height="50" Margin="10,10,10,10" Padding="0"/>
就可以点击跳转应用商店
因为这个页面不是写在主页面,在主页面就放了一个 Frame 需要跳转到刚才写的按钮所在页面,例如主页面的是 chatcommunicationframe
按钮所在的页面是chatcommunication
在页面跳转到QQ页面可以使用下面代码chatcommunicationframe.Navigate(typeof(chatcommunication));
在页面跳转不建议使用这个方法,建议使用[MVVM(https://blog.csdn.net/lindexi_gd/article/details/68059121 )来做页面跳转
刚才的代码是写固定的连接,建议差不多的代码使用一个函数来做,请看下面代码
public async Task OpenWindowsapp(string productId){string uri = $"ms-windows-store://pdp/?ProductId={productId}";await Windows.System.Launcher.LaunchUriAsync(new Uri(uri));}
可以在点击按钮时调用这个函数
private void Souhu_Click(object sender , RoutedEventArgs e){ string productId = "9wzdncrfhvq0";_model.OpenWindowsapp(productId );}
这个软件的界面用到的文件请看下面
- chatcommunication.xaml
- movie.xaml
- model.cs
- MainPage.xaml
主界面代码
<Page
x:Class="classifyapp.MainPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:classifyapp"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"><Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions><!-- 建议使用 x:Name 而不是 Name ,建议控件的命名使用 ChatcommunicationFrame 而不是第一个字符小写,因为控件是属性 --><Frame Name="chatcommunicationframe" Grid.Row="0" Margin="10,10,10,10"/><Frame Name="movieframe" Grid.Row="1" Margin="10,10,10,10"/></Grid>
</Page>
chatcommunication.xaml:
<Page
x:Class="classifyapp.view.chatcommunication"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:classifyapp"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"><Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"><Border><Border.Background><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="#FF6369EB" Offset="0"/><GradientStop Color="#FFFAFBFF" Offset="1"/></LinearGradientBrush></Border.Background><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition /></Grid.RowDefinitions><TextBlock Text="聊天" Grid.Row="0" Margin="10,10,10,10"/><Grid Grid.Row="1"><GridView ><Button Click="QQ_Click" Width="50" Height="50" Margin="10,10,10,10" Padding="0"><Button.Content><Image Source="ms-appx:///Assets/QQ.png" ScrollViewer.VerticalScrollBarVisibility="Disabled" /></Button.Content></Button></GridView></Grid></Grid></Border></Grid>
</Page>
movie.xaml
<Pagex:Class="classifyapp.view.movie"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:classifyapp"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"><Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"><Border><Border.Background><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="#FF6369EB" Offset="0"/><GradientStop Color="#FFFAFBFF" Offset="1"/></LinearGradientBrush></Border.Background><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition /></Grid.RowDefinitions><TextBlock Text="视频" Grid.Row="0" Margin="10,10,10,10"/><Grid Grid.Row="1"><GridView ><Button Click="souhu_Click" Width="50" Height="50" Margin="10,10,10,10" Padding="0" ><Button.Content><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions><Image Source="ms-appx:///Assets/搜狐.png" Grid.Row="0" ScrollViewer.VerticalScrollBarVisibility="Disabled" /><TextBlock Text="搜狐视频" Grid.Row="1" HorizontalAlignment="Center" /></Grid></Button.Content></Button><Button Click="blibli_Click" Width="50" Height="50" Margin="10,10,10,10" Padding="0"><Button.Content><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions><Image Source="ms-appx:///Assets/blibli.png" ScrollViewer.VerticalScrollBarVisibility="Disabled" /><TextBlock Text="搜狐视频" Grid.Row="1" HorizontalAlignment="Center" /></Grid></Button.Content></Button><Button Click="manguo_Click" Width="50" Height="50" Margin="10,10,10,10" Padding="0"><Button.Content><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions><Image Source="ms-appx:///Assets/芒果.png" Width="50" ScrollViewer.VerticalScrollBarVisibility="Disabled" /><TextBlock Text="芒果TV" Grid.Row="1" HorizontalAlignment="Center" /></Grid></Button.Content></Button><Button Click="youku_Click" Width="50" Height="50" Margin="10,10,10,10" Padding="0"><Button.Content><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions><Image Source="ms-appx:///Assets/优酷.png" Width="50" ScrollViewer.VerticalScrollBarVisibility="Disabled" /><TextBlock Text="优酷TV" Grid.Row="1" HorizontalAlignment="Center" /></Grid></Button.Content></Button><Button Click="baofengyingyin_Click" Width="50" Height="50" Margin="10,10,10,10" Padding="0"><Button.Content><Grid><Grid.RowDefinitions><RowDefinition Height="auto"/><RowDefinition Height="auto"/></Grid.RowDefinitions><Image Source="ms-appx:///Assets/暴风影音.png" Width="50" ScrollViewer.VerticalScrollBarVisibility="Disabled" /><TextBlock Text="暴风影音" Grid.Row="1" HorizontalAlignment="Center" /></Grid></Button.Content></Button></GridView></Grid></Grid></Border></Grid></Page>
没有使用比较多的东西,简单单例,按钮,frame,GridView,没有使用 bind,动画。界面
margin
可以使用"10"
,我都是使用"10,10,10,10"
,虽然好多写法可以让代码变少,也不会容易出错。但是本文没有做这么多的东西,因为简单的代码需要很多知识,只是做一个可以看的东西,告诉大家这个软件可以怎么做。
虽然这个应该发布是不会的,但是也有一些想不开的开发者也许就发出来。我这里的代码只是博客用,建议不用直接使用。虽然知道了如何开发,但是一个软件不是只有技术就可以做出来,还需要运营,我没有这么多时间,所以就不想做。
这就是做出来的界面和功能
这个软件需要的技术是很少的,如果要做出一个装机必备的软件,除了上面说道的技术之外,还需要写爬虫,我就不想写这个模块。如果有谁要这个软件的代码,我挂个价格,给我 100 就好。
代码:https://gitee.com/lindexi/lindexi_gd/tree/master/classifyapp
参考:https://msdn.microsoft.com/en-us/library/windows/apps/mt228343.aspx
我搭建了自己的博客 https://lindexi.gitee.io/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新
如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
win10 uwp 装机必备应用 含源代码相关推荐
- 2018-8-9-win10-uwp-装机必备应用-含源代码
title author date CreateTime categories win10 uwp 装机必备应用 含源代码 lindexi 2018-8-9 9:7:31 +0800 2018-8-9 ...
- win10 uwp 入门
UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客. 关于UWP介绍可以参见:http://lib.csdn.net/article/csharp/32451 首先需要申请一 ...
- 装机必备(二)---用Win10系统盘,装Win10系统(内含:如何分盘)
qq 装机&目标检测跟踪讨论群:712790258 请参考我上一篇博客 装机必备(一)---Win10制作系统盘:装机必备(一)---Win10制作系统盘_utrliso 分段刻录liso_ ...
- 装机必备(五)---Win10 + Ubuntu16.04双系统
博文0(主要参考):https://www.cnblogs.com/Duane/p/6776302.html 博文1:https://www.jianshu.com/p/22cbd88af011 博文 ...
- 怎么使用7zip进行分批压缩_装机必备软件之压缩软件篇——7zip
压缩软件是装机必备软件之一. 这种软件的作用是对电脑中的数目众多的文件进行打包或减小大体积文件占电脑硬盘的空间. 如今网络上存在着各大公司的压缩软件,这些压缩软件能满足普通用户的正常压缩需求. 但在安 ...
- 这5个电脑软件提高工作效率1000%,装机必备
1.桌面日历 当我们工作之后,或者岁数大了之后,经常会忘记事情,这时候我们往往会通过记事本辅助我们记忆,写记事本的好处就是将需要做的事都列出来,让我们称之为[代办事项] 什么是[代办事项]:就是你把每 ...
- 程序员装机必备的软件
1,TrueCrypt trueCrypt,是一款免费开源的加密软件,同时支持Windows Vista,7/XP, Mac OS X, Linux 等操作系统.TrueCrypt不需要生成任何文件即 ...
- Windows装机必备基础软件,都在这里了
干净!靠谱!电脑软件下载 直接下载"软件本体" 无套路,无需下载器,无捆绑软件 提供的软件来源放心.可靠.安全 本文就分享几个干净靠谱的「电脑软件下载」平台 & 网站给大家 ...
- 装机必备检测软件全集
装机必备检测软件全集 2011年06月28日 一:全部检测 1:软件名称:EVEREST Ultimate Edition 软件介绍:EVEREST(原名AIDA32)一个测试软硬件系统信息的工具,它 ...
最新文章
- 基于深度学习的病毒检测技术无需沙箱环境,直接将样本文件转换为二维图片,进而应用改造后的卷积神经网络 Inception V4 进行训练和检测...
- 如何挽回一个快要“变心”的买家?(转自索菲外贸笔记)
- datagrid只传入了一部分的数据 未显示全_软件开发面试之数据库事务篇
- 你只管打开清华小姐姐总结的Python学习知识手册 ,剩下的交给「卧槽」
- C# —— 序列化与反序列化
- VS2005 Web Application Project启用WSE(Ver 3.0)的方法
- AE一键快速生成MG爆炸图形动画插件:Burst Box for Mac
- kafka Linux 下启动服务 测试,Linux下安装部署Kafka分布式集群与测试
- linux之dd命令
- springmvc mybatis redis mysql maven搭建基本开发框架 (二)
- window下python2和python3的共存
- Equal-size partition problem
- CreateThread和_beginthread区别及使用
- dataset.padded_batch 用法案例
- Systick中断延时
- 如何保存或打印出清晰的域名证书
- eclipse中包里建包
- ahk实现共性与特化
- Python爬虫之初识简介以及舆情系统简介【爬虫篇一】
- 协议h2怎么php,net::ERR_SPDY_PROTOCOL_ERROR 错误 h2 协议,这个具体是什么引起的?
热门文章
- v39.06 鸿蒙内核源码分析(异常接管) | 社会很单纯 复杂的是人 | 百篇博客分析HarmonyOS源码
- ZYNQ有两个CPU?(一)——AMP搭建
- PCBA方案——升压型小风扇PCBA方案
- Java的语句类型、字符转换及字符串用法
- 智能门锁揭开新方案:NV340D芯片打造更智能安全的语音解锁体验
- 英飞凌TC264学习(一) GPIO
- Linux-Ansible自动化运维
- 如何简单快速的恢复U盘误删的文件?
- PHP跨域处理 图片跨域 接口跨域 后端nginx的cors设置
- Winsoft OCR for FireMonkey AND Delphi CB XE2-10.4 Sydney