装了Windows8 Consumer Preview和Visual Studio 2011 Beta,体验一把Metro风格应用开发,先写个HelloWorld试试。

Metro Style App支持多种开发方式,包括:

☆ XAML/C# 或 XAML/VB.Net
☆ HTML/JS
☆ XAML/C++
☆ DirectX/C++

也可以把几种技术混合起来进行开发,我用XAML/C#先试一下。


1、建工程

在Win8环境下,建工程时能看到有Windows Metro style,这个选项在非Win8的环境下是看不到的。建个Blank Application吧,这个最简单。


2、写界面XAML(BlankPage.xaml)

只放两个TextBlock,显示文本信息用。

<Pagex:Class="HelloWorld.BlankPage"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:HelloWorld"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"><GridBackground="{StaticResourceApplicationPageBackgroundBrush}"><StackPanel><!--在界面上放两个TextBlock,一个显示HelloWorld,一个显示时间--><TextBlockFontSize="60"HorizontalAlignment="Center"Margin="0,200,0,0">HelloWorld!</TextBlock><TextBlockName="txtCurrentTime"FontSize="48"HorizontalAlignment="Center"Margin="0,50,0,0"></TextBlock></StackPanel></Grid></Page>


3、写代码(BlankPage.xaml.cs)

在OnNavigatedTo方法中写几行代码,让界面上第二个TextBlock显示当前时间。

protectedoverridevoidOnNavigatedTo(NavigationEventArgse){//建个定时器,每秒更新一下txtCurrentTime的Text为当前时间vartimer=newDispatcherTimer();timer.Interval=TimeSpan.FromSeconds(1);timer.Tick+=(sender,args)=>{txtCurrentTime.Text=DateTime.Now.ToString();};timer.Start();}



OK了,Ctrl+F5跑一下,效果如下:

PS:在Win8上开发Metro应用,需要先注册一个开发者许可。