2019-11-29-win10-uwp-如何开始写-uwp-程序
title | author | date | CreateTime | categories |
---|---|---|---|---|
win10 uwp 如何开始写 uwp 程序
|
lindexi
|
2019-11-29 10:12:42 +0800
|
2018-4-14 16:8:32 +0800
|
Win10 UWP
|
本文告诉大家如何创建一个 UWP 程序。
这是一系列的 uwp 入门博客,所以写的很简单
本文来告诉大家如何创建一个简单的程序
安装 VisualStudio
在开始写 UWP 需要安装 VisualStudio ,安装需要从官网下载程序,或者使用网上大神做的离线安装。
但是 VisualStudio 大概一个月更新一次,所以不建议使用离线安装。
在睡觉前可以从 官网 下载 VisualStudio IDE ,提供有几个版本,大概下载 Community 版本就可以了。这是一个免费的版本。
打开安装界面,下面的版本是企业版,如果想使用企业版但是没有秘钥可以找我。
然后选择 通用 windows 开发,其他的选项可以选也可以忽略。
注意不要去修改默认安装的,因为 VisualStudio 必须安装在 C 盘,如果安装在其他的盘可能无法运行。
创建应用
在安装之后,大概是第二天,点击文件新建就可以看到这个界面
点击空白项目就可以创建,记得设置软件名和解决方案名,存放的位置。
点击确定就可以看到下面的界面
需要注意,目标版本就是当前编译面对的版本,但是最低版本指的是需要支持的版本。
如果选择的目标版本越高,理论可以使用的接口越多,如果选择的最低版本很低,那么就必须使用越低的接口。
所以一般我都不会选很低的版本,需要说的是,如果想要支持亚克力,那么就需要选择最低版本 16299 ,因为现在是入门,所以建议选择最高版本。
启动流程
很多小伙伴不知道启动流程,实际上在开发的时候就需要使用一个启动流程。
在开始启动的时候加载的是一张静态的图片,在用户点击应用的时候就可以显示。然后立刻跳转到动态的图片,一般都是做一个动画。这样用户就可以看到软件正在运行,不会觉得软件启动很慢。
这时就进行后台读取应用数据,一般的软件在启动的时候都需要读取配置,读取文件的方法请看win10 UWP读写文件。
在读取完成配置之后一般还做模块初始化,注入。
关于启动流程的,因为不属于入门的博客,所以我会在别的博客说。
在读取配置之后,初始化了模块就可以跳到主页面,这时就可以在主页面显示内容。
显示 hellow
大概所有的入门博客都会告诉大家如何写一个 hellow ,我这里也是这样告诉大家。
打开 MainPage.xaml ,一般使用双击文件的方法
然后可以看到这个界面
在下面的代码,估计需要滚动才可以看到,因为我默认设置是打开代码而不是设计,如果安装默认的 VisualStudio 显示的是一半设计,下面一半是代码,所以需要滚动代码才可以看到下面代码。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> </Grid>
我不会告诉大家每个控件的意思,我建议快速复制粘贴代码,尝试运行,对于代码的意思可以后面慢慢看。
添加文本 hellow ,添加文本的方法是使用 TextBlock ,至于对于 Text 文本之外的其他属性,我就不多说了。这些属性大家可以使用控制面板的属性窗口看到很多设置,去试试控件的设置然后运行看效果。
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<TextBlock Text="林德熙逗比" HorizontalAlignment="Center" VerticalAlignment="Center"></TextBlock>
</Grid>
然后按 F5 运行,大概就可以看到界面有文字。
尝试修改文字为你自己想要的,然后运行。
实际上桌面开发的入门难度相对比较大,因为需要学很多东西。如果学比较深,那么需要的时间是比较长的。在 UWP 开发,建议界面使用 xaml 来写,什么是 xaml ,就是文件后缀是 xaml 的文件。
大概需要学 C# 的知识,现在已经到了 C# 7 ,所以新的功能是需要学。
然后需要学习 dot net core 或 dot net Framework 的知识,学习只需要了解里面有哪些类,如何使用他。
实际上 dot net core 就已经需要学很久了,但是开发时还需要学 VisualStudio 和一些插件的使用。我看到有些小伙伴写代码的速度实在太慢,还有调试的能力也很差,因为他不会使用 VisualStudio ,如果学会使用,那么开发速度很快很多。除了 VisualStudio 还需要去了解一些常用的工具,请看高效率工具
另外软件开发还有基础的部分,关于数据结构、基础算法、设计模式都需要去学一下。但是必须告诉大家的是,关于数据结构千万要学 dot net 提供的数据结构而不是对于每个数据结构都去自己写,如果自己写轮子在 dot net 开发大神看来这就是新手。尽量使用 dot net 提供的算法才是一个高手需要做的。
更多的 UWP 博客请直接看我的博客,csdn博客:https://blog.csdn.net/lindexi_gd 个人博客: https://lindexi.gitee.io 在国内我是写 UWP 博客最多的人,但是文章水平比较低,如果发现我博客写的不好懂,请告诉我
如果遇到任何的问题,欢迎加入一些 dot net 交流的群交流。
欢迎大家加入我的组织 telegrma ,如果发现无法加入,请看如何使用 Telegram
2019-11-29-win10-uwp-如何开始写-uwp-程序的更多相关文章
- win10 uwp 如何开始写 uwp 程序
本文告诉大家如何创建一个 UWP 程序. 这是一系列的 uwp 入门博客,所以写的很简单 本文来告诉大家如何创建一个简单的程序 安装 VisualStudio 在开始写 UWP 需要安装 Visual ...
- pycharm+anaconda在Mac上的配置方法 2019.11.29
内心os: 听人说,写blog是加分项,那他就不是浪费时间的事儿了呗 毕竟自己菜还是留下来东西来自己欣赏吧 Mac小电脑上进行python数据开发环境的配置 首先下载Anaconda,一个超好用的数据 ...
- 2019.11.29 Mysql的数据操作
为名为name的表增加数据(插入所有字段) insert into name values(1,‘张三’,‘男’,20); 为名为name的表增加数据(插入部分字段) insert into name ...
- 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱
今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個 1. RZ10配置參數 a) 参数配置前,先导入激活版本 执行完毕后返回 b) 输入参数文件DEFAU ...
- Supervision meeting notes 2019/11/29
topic 分支: 1. subgraph/subsequence mining Wang Jin, routine behavior/ motif. Philippe Fournier Viger ...
- 11.13的C++##不想写结构,更不爱指针
//2019.11.13 卑微的Loving-Q瞎写的程序 报错请更改VS中的SDL检查// 我要去嗨了,在线卑微 1 #include<iostream> #include<std ...
- EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)
传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...
- Alpha冲刺(6/10)——2019.4.29
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(6/10)--2019.4.29 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...
- 2019.11.9 csp-s 考前模拟
2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...
- win10下通过Anaconda安装TensorFlow-GPU1.3版本,并配置pycharm运行Mnist手写识别程序
折腾了一天半终于装好了win10下的TensorFlow-GPU版,在这里做个记录. 准备安装包: visual studio 2015: Anaconda3-4.2.0-Windows-x86_64 ...
随机推荐
- 一、基础篇--1.2Java集合-Arraylist 与 LinkedList 区别
Arraylist 与 LinkedList 区别 结构上的区别 ArrayList底层实现基于动态数组,LinkedList底层实现基于双向链表. 性能上区别 ArrayList查询快,增删慢 ...
- leetcode 51 N皇后问题
代码,由全排列转化而来,加上剪枝,整洁的代码: 共有4个变量,res(最终的结果),level,当前合理的解,n皇后的个数,visit,当前列是否放过皇后,由于本来就是在新的行方皇后,又通过visit ...
- Elasticsearch 6.2.3版本 执行聚合报错 Fielddata is disabled on text fields by default
背景说明 执行<Elasticsearch 权威指南>的示例,在执行聚合查询的时候,报错 Fielddata is disabled on text fields by default. ...
- 如何在win10上运行httpRunner的api_server服务
将下载的api_server.py放在d:/code文件夹下 安装flask :pip install flask 切换到d:/code文件夹下 浏览器打开地址:http://127.0.0.1:50 ...
- java:Mybatis框架3(二级缓存,延时和积极加载,SSI(Ibatis)集成,SSM集成)
1.二级缓存: 需要导入二级缓存jar包: mybatis03: ehcache.xml: <ehcache xmlns:xsi="http://www.w3.org/2001/XML ...
- cocos2dx基础篇(7) 触碰事件
cocos2dx游戏引擎的重点是在于移动设备的跨平台开发,而移动设备上的游戏大部分都是通过屏幕触碰来进行的.比如主菜单的按钮触碰,打飞机中飞机的触碰移动,都需要用到触碰操作.想一想之前讲的菜单按钮CC ...
- [原创]关于类似方程x+y+z=P的解的总解
1:如果x,y,z>=0,则直接插板法c(P+3,3-1)2:如果x,y,z均有下界a1,a2,a3,则求解方程x+y+z=P-a1-a2-a33:如果x,y,z均有上界的自然数,则使用容斥定理 ...
- Maven从入门到精通(四)
这一篇我会着重讲解Maven的核心命令及作用,Maven在项目构建各个阶段的作用. 1.maven生命周期模型: 1.1.清洁(clean) 1.2.默认(default) 1.3.站点(site) ...
- C# StreamReader与StreamWriter
原文:https://www.cnblogs.com/kissdodog/archive/2013/01/27/2878667.html StreamReader实现了抽象基类TextReader类, ...
- numpy数组的索引和切片
numpy数组的索引和切片 基本切片操作 >>> import numpy as np >>> arr=np.arange(10) >>> arr ...