項目類型名 | 項目類型作用以及描述 | 適用語言 |
空白應用程序 | 創建一個最簡化的空白XAML應用以供用戶使用,需要自己添加界面、公共代碼等。 | C#/VB/C++/Javascript |
拆分應用布局程序 | 顯示主從式列表,如新聞列表(分為很多個新聞類別,每個新聞類別下直接是可以選擇相應的新聞標題看到內容) | C#/VB/C++/Javascript |
網格應用程序 | 可以對該應用進行自定義以創建允許用戶通過類別瀏覽來查找完全符合他們需求的內容。例如:購物應用、新聞應用以及照片或視頻應用。 | C#/VB/C++/Javascript |
固定應用布局程序 | 提供與空白應用模板相同的基本 Metro 風格應用,不同之處在于它的內容適用于固定的視區 | Javascript |
導航應用布局程序 | 提供基本的導航、應用桌面工具欄(應用欄)和基于媒體模式的布局,這些布局也用在網格應用和拆分應用中。導航應用模板僅包含一個最小頁面片段,你可以方便地向其中添加更多頁面片段。然后可以添加你自己的內容。 | Javascript |
Direct2D應用程序 | 可以構建使用 DirectX 的 Metro 風格應用 | C++ |
二、應用程序清單
文件名 | 選項卡功能描述 | 適用語言 |
應用程序UI | 配置 UI 設置,包括各種LOGO、初始屏幕以及初始方向。 | C#/VB/C++/Javascript |
功能 | 指定你的應用可以使用的系統功能或設備,如 Internet 訪問、視頻庫以及音樂庫等訪問 | C#/VB/C++/Javascript |
聲明 | 為應用合約添加聲明,如搜索和共享目標合約,以及指定其屬性。 | C#/VB/C++/Javascript |
內容 URI | 指定你的應用可以訪問或無法訪問的 URI,僅在Javascript語言創建的項目 | Javascript |
打包 | 設置部署包時標識和介紹該包的屬性 | C#/VB/C++/Javascript |
三、在新建的XAML項目類型模板(拆分應用布局程序、網格應用程序)下有一個Common文件夾,里面有一些公共文件,其代碼意義如下表所示:
文件名 | 描述 | 適用語言 |
StandardStyles.xaml | 定義由項目和項模板使用的樣式和模板。因為我們精心地設計了這些樣式(例如,文本格式、邊距等),不僅使它們具有吸引力,而且還能始終保持一致,所以請在你的應用中使用這些樣式并且/或者從這些樣式中派生新的樣式(參閱下面的“修改樣式”)。 可能。請不要直接在此文件中更改樣式,但是在你的控件中使用它們并/或通過它們來創建你自己的新樣式(參閱本主題后面的“修改樣式”)。 | C#/VB/C++ |
ReadMe.txt | 包含關于模板的重要信息。當更新模板時,這些自述信息也會更改。我們建議你在使用新模板時先閱讀此文件中的信息。 | C#/VB/C++ |
BindableBase .cs|.vb|.cpp|.h | 這是一個基本類,提供 INotifyPropertyChanged 的實現。 你可以隨意構建基于此類的任何類。 | C#/VB/C++ |
BooleanNegationConverter .cs|.vb|.cpp|.h | 在 XAML 中使用的轉換器。對布爾值取反。 | C#/VB/C++ |
BooleanToVisibilityConverter .cs|.vb|.cpp|.h | 在 XAML 中使用的轉換器。將布爾值轉換為可見狀態。 | C#/VB/C++ |
LayoutAwarePage .cs|.vb|.cpp|.h | •主要用于偵聽視圖狀態更改事件(例如,貼靠、縱向以及填充狀態),并通過切換頁面的視覺狀態來進行響應。你可以替代此行為以提供自定義視覺狀態名稱,但仍使用此文件中提供的事件代碼。例如,當應用處于貼靠方向時,如果用戶的 UI 不同(例如,用戶登錄與注銷時),則可以使用與這些不同 UI 對應的兩個視覺狀態名稱,但是仍使用此文件中提供的相同事件代碼。 •包含默認視圖模型。 為簡單起見,我們已經在此文件中創建了一個屬性,即“一個將字符串映射到對象的字典”。 這提供了一個輕型視圖模型,供你在各種視圖中用來綁定數據。 你可以隨意使用此視圖模型,或者提供你自己的視圖模型并忽略此屬性。 •由于每個頁面都有相同的“返回”按鈕,因此我們在此根類型中提供了事件處理程序,因為它們始終具有相同的導航服務調用。 |
C#/VB/C++ |
RichTextColumns .cs|.vb|.cpp|.h | 在網格應用中,當查看項目詳細信息時,我們希望顯示一個給定項目的全部文本。 該文本最好先在固定寬度的列中垂直顯示,然后盡可能在同樣多的列中水平顯示。 該控件提供這種機制。 你只要提供所需的內容和每個列的模板,它就會自動為你動態生成數據的所需列數。 | C#/VB/C++ |