Visual Studio 11 消費(fèi)者預(yù)覽版支持使用 C++ 創(chuàng)建 Metro 風(fēng)格的應(yīng)用程序,這對(duì)廣大本地應(yīng)用開發(fā)者來說是一個(gè)大消息。這里我們來創(chuàng)建一個(gè)非常簡(jiǎn)單的 Metro 應(yīng)用。
啟動(dòng) Visual Studio 并通過 Visual C++>Windows Metro Style>Blank Application 模板創(chuàng)建一個(gè)項(xiàng)目.
“Hello world”
打開 BlankPage.xaml 文件,滾動(dòng)到代碼底部并定位 Grid 元素,然后插入一個(gè) TextBlock,代碼如下:
Margin 屬性是文本離邊界之間的距離值,這里我們?cè)O(shè)置左邊距離 12px,頂部距離 20px。你也可以修改 FontSize 屬性值來改變字體大小。
如果你現(xiàn)在運(yùn)行應(yīng)用程序,那將會(huì)是一個(gè)黑屏上顯示 Hello world 文本在左上角。你可以通過 BlankPage.xaml 來定義應(yīng)用的 UI 外觀,但代碼邏輯存放在 BlankPage.xaml.h 和BlankPage.xaml.cpp 文件中,這兩個(gè)文件和 BlankPage.xaml 放在同一個(gè)目錄。
這是一個(gè)普通的 C++ 類,但有所不同,有一些新的擴(kuò)展語法,成為 C++/CX,意思是 Component extensions. 純 C++ 不能用于開發(fā) Metro 應(yīng)用,但使用純 WinRT 會(huì)讓代碼變得很笨重,因?yàn)?Metro 世界所有都是 COM 對(duì)象。C++/CX 擴(kuò)展可以讓 C++ 程序員無需了解太多非標(biāo)準(zhǔn)的擴(kuò)展。通過 AddRef 和 Release 的調(diào)用可隱藏更多的技術(shù)細(xì)節(jié)。
C++ to XAML
你可以通過添加 x:Name="txtHello" 來為在 XAML 定義的 TextBlock 取個(gè)名字,并可設(shè)置值。然后你就可以使用如下代碼來操作該文本元素。將下面代碼添加到 BlankPage::OnNavigatedTo 方法:
| 1 | txtHello->Text = "Hello world!!!"; |
運(yùn)行程序,你將看到如下圖所示的結(jié)果:
雖然上述例子并不值得太激動(dòng),不過想想你當(dāng)時(shí)學(xué)習(xí) Win32、MFC 和 WTL 開發(fā),這已經(jīng)是非常簡(jiǎn)單了。
新聞熱點(diǎn)
疑難解答