Visual Studio 11:使用 C++ 开发一个最简单的 Metro 应用

红薯 发布于 2012/06/11 20:54
阅读 5K+
收藏 12

Visual Studio 11 消费者预览版支持使用 C++ 创建 Metro 风格的应用程序,这对广大本地应用开发者来说是一个大消息。这里我们来创建一个非常简单的 Metro 应用。

启动 Visual Studio 并通过 Visual C++>Windows Metro Style>Blank Application 模板创建一个项目.

“Hello world”

打开 BlankPage.xaml 文件,滚动到代码底部并定位 Grid 元素,然后插入一个 TextBlock,代码如下:

<Grid Background="{StaticResource ApplicationPageBackgroundBrush}">
    <TextBlock Text="Hello world" Margin="12,20" Style="{StaticResource SubheaderTextStyle}"/>
</Grid>

Margin 属性是文本离边界之间的距离值,这里我们设置左边距离 12px,顶部距离 20px。你也可以修改 FontSize 属性值来改变字体大小。

如果你现在运行应用程序,那将会是一个黑屏上显示 Hello world 文本在左上角。你可以通过 BlankPage.xaml 来定义应用的 UI 外观,但代码逻辑存放在 BlankPage.xaml.hBlankPage.xaml.cpp 文件中,这两个文件和 BlankPage.xaml 放在同一个目录。

这是一个普通的 C++ 类,但有所不同,有一些新的扩展语法,成为 C++/CX,意思是 Component extensions. 纯 C++ 不能用于开发 Metro 应用,但使用纯 WinRT 会让代码变得很笨重,因为 Metro 世界所有都是 COM 对象。C++/CX 扩展可以让 C++ 程序员无需了解太多非标准的扩展。通过 AddRef 和 Release 的调用可隐藏更多的技术细节。

C++ to XAML

你可以通过添加 x:Name="txtHello" 来为在 XAML 定义的 TextBlock 取个名字,并可设置值。然后你就可以使用如下代码来操作该文本元素。将下面代码添加到 BlankPage::OnNavigatedTo 方法:

txtHello->Text = "Hello world!!!";

运行程序,你将看到如下图所示的结果:


虽然上述例子并不值得太激动,不过想想你当时学习 Win32、MFC 和 WTL 开发,这已经是非常简单了。

英文原文OSCHINA原创翻译

加载中
0
贾珣
贾珣
今天用了一下 Visual Studio 12的预览版~感觉还不错~本人不懂VS的开发哈~只是感觉~Win RT听上去很好很强大~嗯嗯
iiiiiiiii
iiiiiiiii
@冯刚义 呵呵,不是哦,是visual studio2012,版本是11。
听风者
听风者
回复 @Ghost_ : 正式版到时应该回改为vs12的
iiiiiiiii
iiiiiiiii
是visual studio11啦
0
东胜神洲
东胜神洲
Microsoft 每次发布的新技术都很强大。。。
0
小耶果
小耶果
先观望Metro是否会成功再说,微软的技术总是出现一批抛弃一批.前3年的MVP可能今年什么都不是.嗨.
0
iiiiiiiii
iiiiiiiii
“支持使用 C++ 创建 Metro 风格的应用程序,这对广大本地应用开发者来说是一个大消息。” 为什么这么说呢?
0
Axzure
Axzure
WPF 是好东西
0
lanybass
lanybass
红薯出品,必属精品
0
xwz
xwz
难道osc要出wp客户端了??
junwong
junwong
没错
0
偏执狂xj1
偏执狂xj1
等待wp客户端啊,
0
树相马
树相马
不关心vs,不跨平台已经放弃他了。。。。还是继续QT,等QT5正式版
0
小乐乐

引用来自“树相马”的答案

不关心vs,不跨平台已经放弃他了。。。。还是继续QT,等QT5正式版
呵呵,同道啊。
返回顶部
顶部