最近需要使用C#开发UWP应用,以前学习过C,这回就是快速看了一下C#的一些特别之处,然后就进入到了实战练习当中。

1、按照MSDN的教程自己搭建了一个简单的“Hello, world”应用。是使用C#和xaml语言。在开发之前,windows 10操作系统和VS2015是少不了的,而且教程上也是使用这个的。

1)创建一个新的项目。在Visual C#选项下的windows选项,里面有一个universal,然后选择一个空的应用模板,最后确定存放位置,就可以点击ok了。虽然是选择了空的应用模板,但是其中也包含了一些必要的文件。

项目名称:

- Properties:

- References:

- Assets:存放一些logo

- App.xaml:声明应用使用的资源

  - App.xaml.cs:引导进入应用的入口

- HelloWorld_TemporaryKey.pfx

- MainPage.xaml: 开始页面的设置

  - MainPage.xaml.cs: 代码文件

- Package.appxmanifest: 描述你的应用以及列出应用包含的文件

- project.json

2)修改开始页面

对MainPage.xaml和MainPage.xaml.cs修改,对MainPage.xaml(Xaml)修改页面布局,对MainPage.xaml.cs(C#)修改逻辑部分的代码。

3) 运行应用

(在这里吐槽一下,刚刚已经写完了这个blog,结果误操作删除了一半,然后博客园的自动保存鬼使神差的成功保存,然后我就得从这继续码字了,心中万千羊驼呼啸而过)

在运行应用之前,VS2015可以选择应用运行的平台,包括本地PC,模拟器,远程设备以及不同型号的手机设备。在这里我用本地PC运行的,教程里面也是在本地运行的。运行之后,应用会安装到系统中,并出现在开始菜单页面,以后不用通过VS也可以直接点击开始菜单中的应用程序运行。模拟器和不同型号的手机设备,我只是使用了一下,但是报错了,目前还没有继续研究,ms要什么设置。下图是应用运行后的效果。

4) 添加事件

上面运行的应用只有个外表,还没有内在的东西,点击按钮一点效果都没有。在这里我们就可以充实一下。

- 选中按钮

- 在属性页面点击事件按钮(一个小闪电)

- 在Click事件中,添加函数名,这里使用了Button_Click,回车。

- MainPage.xaml(XAML)中代码有变化,并且需要在MainPage.xaml.cs(C#)中添加逻辑代码

5) 自适应UI设计

在MainPage.xaml中添加一段代码,使用VisualStateManager来对应用进行自适应UI设计。对于UWP上的应用来说,由于一套代码可以运行在不同windows 10的设备上,就需要在显示的时候针对不同的屏幕的大小来自动变换显示效果,给用户以最好的使用效果。可以使用VisualStateManager轻松实现这一目的,在这里我们只是用应用窗口的宽度来设计页面,我们也可以利用VisualStateManager其他的性质来完善自适应UI设计。

(刚刚又差点悲剧,看来以后一定要在word里面写好之后再发上来,第一次发blog没有经验啊~~~心惊胆战的)

2、学习其他人的内容,自己试验了一些控件

1) Button: 可以设置背景和前景颜色等,写法也不是固定于这样。

 <Button Background="Black" Foreground="White">
<Button.Content>普通按钮</Button.Content>
</Button>

2) ComboBox: 下拉菜单选择,可以设置布局位置(中心,左边还是右边)、边缘等。

 <ComboBox HorizontalAlignment="Center" Margin="0 100 0 0">
<ComboBoxItem Content="Select item" IsSelected="True"></ComboBoxItem>
<ComboBoxItem Content="Item 1"></ComboBoxItem>
<ComboBoxItem Content="Item 2"></ComboBoxItem>
</ComboBox>

3) TextBlock: 文本区域,可以设置边缘等。

<TextBlock Text="Hello, world!" Margin="0,0,0,40"/>

不知道UWP的应用开发,是否可以像iOS开发那样,直接拖拽某个控件,就不用自己敲代码了。

UWP APP 开发日记的更多相关文章

  1. 美食家App开发日记1

    前期一直在看第一行代码Android,这本书感觉讲基础讲得特别细致. 百看不如一试. 因为刚刚接触Android,没办法做到想写什么功能就直接一下写好,只能从最开始基础的控件使用开始练习. 所以一直在 ...

  2. 美食家app开发日记

    民以食为天. 作为一个20年几乎没做过饭的吃货,从这个假期开始,想利用些时间,自己动手尝试,做些好吃的出来,一方面给父母减轻点负担,获得点成就感,一方面体验生活,学学厨艺,感受生活的乐趣和美好,其三, ...

  3. 美食家App开发日记5

    今天将ListView控件用更强大的Recyclerview控件取代,最后调试了程序. 感觉Android编程难度实在是远远高于javaweb,初次接触,感觉有很多东西想实现,想得很容易,但是实现起来 ...

  4. 美食家App开发日记4

    研究了卡片式布局中的Recyclerview的用法,但是调试了很长时间,导入包总是有问题,一到手机上运行就会闪退.还是在网上查了很多方法,很不开心我还是解决不了.

  5. 美食家App开发日记3

    由于个人原因,感觉Android的学习特别复杂,初次接触,实在难以完成最初设想,所以将最初的设想做减法. 今天学习了ListView控件,将图片和美食名字使用ListView界面显示出来,并学习提升L ...

  6. 美食家App开发日记2

    操作Android内置数据库失败...由于个人愚钝,按照书上所讲,一步一步写,中间出了一系列问题,有些功能在网上查了很多解决方案仍无法解决,导致无法使用. 感觉Android操作很难...

  7. 微信小程序开发日记——高仿知乎日报(中)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...

  8. 微信小程序开发日记——高仿知乎日报(上)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  9. xamarin.forms uwp app部署到手机移动设备进行测试,真机调试(device portal方式部署)

    最近学习xamarin.刚好 手上有一个lumia 930.所以试一试把uwp app部署到手机上,并真机调试一把. 目前环境: 1.开发pc电脑是win10,版本1607.加入了insider,所以 ...

随机推荐

  1. [转]Python中的with…as…

    先说明一个常见问题,文件打开: 1 2 3 4 5 6 7 try:     f = open('xxx')     do something except:     do something fin ...

  2. Delphi-CompareText 函数

    函数名称 CompareText 所在单元 System.SysUtils 函数原型 function CompareText(const S1, S2: string): Integer; 函数功能 ...

  3. arm的一些概念(ARM7、Cortex-M的区别)

    ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构.    ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能 ...

  4. hdu 4548 第六周H题(美素数)

    第六周H题 - 数论,晒素数 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   De ...

  5. Solr4.8.0源码分析(9)之Lucene的索引文件(2)

    Solr4.8.0源码分析(9)之Lucene的索引文件(2) 一. Segments_N文件 一个索引对应一个目录,索引文件都存放在目录里面.Solr的索引文件存放在Solr/Home下的core/ ...

  6. 百度地图LBS云平台读写数据操作类

    最近写了个叫<行踪记录仪>的手机软件,用了百度云来记录每个用户的最近位置,以便各用户能在地图上找到附近的人,为此写了个类来读写数据,大致如下: import java.util.Array ...

  7. grunt serve Fatal error: Port 35729 is already in use by another process.

    y@y:~$ lsof | grunt y 0t0 TCP *: (LISTEN) Optimizin y 0t0 TCP *: (LISTEN) v8:Sweepe y 0t0 TCP *: (LI ...

  8. IT的发展路径

    1.掌握更多的技能 2.掌握某一门深入的技能 3.掌握更多的工具 4.掌握业务

  9. ISO14443标准详细介绍

    这篇文章从各方面详细介绍了ISO/IEC14443标准.第一部分:物理特性1.范围ISO/IEC14443的这一部分规定了邻近卡(PICC)的物理特性.它应用于在耦合设备附近操作的ID-1型识别卡.I ...

  10. POJSorting It All Out (拓扑)

    题目链接. 题目大意: 给定一定的数量的小于关系: 1.如果发现环,输出从前几次就可以确定出现环 2.如果能够确定唯一序列,输出. 3.如果通过全部关系,还不能确定序列,则输出不能确定. 分析: 个人 ...