本小节介绍如何在界面上添加简单的XAML Controls, 本例中我们用到了Grid, TextBlock, Button, 和StackPanel控件。XAML自身所有的控件都声明在Windows.UI.Xaml.Controls这个类库中, 您可以去MSDN1详细了解各种XAML控件的使用。

我们要实现一个感恩节贺卡程序,其界面由一个文本显示控件TextBlock,和两个按钮控件Button组成。 Button1用于获取一个贺卡的祝福语,Button2用于将当前的祝福语通过邮件发送给朋友。

请确保您已经完成了前一章节的内容。

Grid Control中添加2个声明。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions> </Grid>

在页面上,新添加一个TextBlock Control, 并将其位置定位在Grid的第一行。设置其属性如下:

<TextBlock x:Name="tbMessage" Text="Hello, Click to Start..." Grid.Row="0"/>

在页面上, 新添加两个Button Control,并将其位置定位在Grid的第二行。设置其属性如下:

<Button x:Name="btnSendMail" Content="Send to Friend" Grid.Row="1" />
<Button x:Name="btnGetMessage" Content="Get a Wishes" Grid.Row="1" />

现在切换到可视化界面, 我们发现步骤2中添加到两个Button是重合在一起的,为了使得两个Button能够并排,我们添加第三个控件StackPanel Control, 并使用StackPanel将两个Button包裹。修改后我们的代码如下:

<StackPanel Orientation="Horizontal" Grid.Row="1" Padding="4">
<Button x:Name="btnSendMail" Content="Send to Friend" Grid.Row="1"/>
<Button x:Name="btnGetMessage" Content="Get a Wishes" Grid.Row="1"/>
</StackPanel>

首先,让我们实现获取祝福语的程序逻辑。在tbGetMessage Button的属性中,添加单击事件GetMessage_Click, 修改后的代码如下:

<Button x:Name="btnGetMessage" Content="Get a Wishes" Grid.Row="1" Click="GetMessage_Click"/>

然后,用鼠标在GetMessage_Click中任何位置单击, 在键盘上按下F12键,进入Code Behind代码。 在MainPage.xaml.cs文件中,在GetMessage_Click方法中,实现程序逻辑如下:

  • 定义字符串变量str。
  • 将str的值赋值给TextBlock的Text属性。

代码如下:

private void GetMessage_Click(object sender, RoutedEventArgs e)
{
string str = "Happy Thanksgiving!";
tbMessage.Text = str;
}

M2: XAML Controls的更多相关文章

  1. M2: XAML Controls(2)

    在前小节中,我们在Card程序的主界面中加入了简单的XAML控件, 本小节将在其基础上进行优化,使界面看上去更加美观.本小节用到了Grid Control, Border Control,以及XAML ...

  2. 求解: Windows Phone XAML Controls 为什么是disable状态?

    问题 : 我在做一个windows phone 的App,显示一个web 返回来的data,现在想用控件ListView 去绑定这个Data,但是 为何我的VS2012 中的 ToolBox 的XAM ...

  3. Xaml Controls Gallery 的五个没有用的控件

    HyperlinkButton 功能:这个控件可以实现点击按钮后跳到另一个按钮的功能. 我觉得这个功能有些多余,据我了解,一些深受欢迎的游戏大都具备的一个特点,那就是操作简单,界面中不会出现冗余的东西 ...

  4. UWP作业(一)XAML Controls Gallery

    作为一个编程能力不是很好的uwp初学者,在控件库里看到种类繁多的选项时,需要查资料,最后决定出几种性能各方面可能不是那么出色的控件,内心也是非常纠结的.但当我把自己当成一个用户时,通过分析自己的需求, ...

  5. Common xaml controls(补交作业)

    Common xaml controls 常见的xaml控件: 先上一段代码,把他们基本都实现出来: <Grid Name="MyGrid"> <Button N ...

  6. TypeLoadException: 找不到 Windows 运行时类型“Windows.UI.Xaml.Controls.Binding

    奇怪的问题,我以为是我不小心添加了什么标签导致的,后来发现...坑爹,把项目名字改一下,然后移除掉,接着再加载一下就可以了.......崩溃了,,,,事实证明==>这个时候再把名字改回去也是不报 ...

  7. Creating Reusable XAML User Controls with Xamarin Forms

    In the previous post on making fancy layouts with Xamarin Forms we saw how you can design a Dashboar ...

  8. Windows10-UWP中设备序列显示不同XAML的三种方式[3]

    阅读目录: 概述 DeviceFamily-Type文件夹 DeviceFamily-Type扩展 InitializeComponent重载 结论 概述 Windows10-UWP(Universa ...

  9. 关于 WP 开发中.xaml 与.xaml.cs 的关系

    今天我们先来看一下在WP8.1开发中最长见到的几个文件之间的关系.比较论证,在看这个问题之前我们简单看看.NET平台其他两个不同的框架: Windows Forms 先看看Window Forms中的 ...

随机推荐

  1. Java--常用类summary(二)

    /* 1:StringBuffer(掌握) (1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类.StringBuffer供 ...

  2. curl,chkconfig

    1. Linux系统服务管理 工具ntsysv 类似图形界面管理工具,如果没有该命令使用 yum install -y ntsysv 安装 常用服务:crond, iptables, network, ...

  3. RHEL 5 安装phpqrcode生成二维码

    VMWARE中全新安装(默认)RHEL. 之后,yum 安装备apache/php 下载并上传phpqrcode 1.1.4版本,并将其解压至/var/www/html/phpqrcode (去掉ip ...

  4. 如何在 CentOS 中设置 NTP 服务器

    网络时间协议(NTP)用来同步网络上不同主机的系统时间.你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间.而另一方面,一个 NTP 服务器会将它的时间和任意公共 NT ...

  5. IoTimerInLineHook

    #ifndef CXX_IOTIMERINLINEHOOK_H # include "IoTimerInlineHook.h" #endif ULONG32 SSDT_NtOpen ...

  6. 转: CSS中float和clear的理解

    float:浮动,比如,默认的,我们知道,div是占满一行的,现在我们想把两个div显示在一行上,那怎么办呢<div style="width:100px;">1111 ...

  7. win7下python安装pyquery

    安装pyquery之前首先要明确一点,easyinstall 是一款python包管理器,类似于node的npm,用于安装python的扩展包,它安装的包是以*.egg的方式. 要安装pq需要经历以下 ...

  8. 二模 (10) day2

    第一题: 题目大意:求出区间 [L,R]里约数最多的数.   L,R<=10^9 解题过程: 1.一开始我就往恶心的数据去想了,比如 L=R=一个超级大的质数.. 那么 用搜索质因子的方法  是 ...

  9. mac下安装apache+php+mysql

    运行“sudo apachectl start”,再输入帐号密码,这样Apache就运行了. 运行“sudo apachectl -v”,你会看到Mac OS X 10.6.3中的Apache版本号: ...

  10. 【个人使用.Net类库】前言

    个人接触.Net是在2013年8月份到了一家新的公司开始的. 目前为止,发现自己的知识储备如下: 基本的WinForm编程,但没做过对应项目. 基本的Asp.Net页面,做过查询.树形菜单.登录的小功 ...