国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

XAML開發入門之創建XAML應用程序

2019-11-17 04:37:16
字體:
來源:轉載
供稿:網友
雖然XAML可以創建一個類庫和模塊供其它的程序使用(有點類似于用C#或者VB.NET等語言創建一個DLL程序集,供其它的程序使用),但是我們還是經常直接使用XAML來構建用戶界面。一般來說,XAML應用程序有兩種類型,分別為eXPRess和installed。Express應用程序通常宿主于一個Web瀏覽器中,也就是說在瀏覽器中以Web頁面類似的形式進行呈現的。而Installed應用程序就和傳統的桌面程序非常類似,包括控制臺程序和窗體程序兩種形式。由于我們在這里是以手動的方式創建一個WPF程序,所以我們無法直接使用WinFX Extensions to Visual Studio 2005提供的模板創建特定類型的XAML程序。為此,我們要通過手動的方式創建一個特定類型的XAML應用程序,我們還要創建對應的項目文件,并在該項目文件中指定要創建的應用程序類型。

  MSBuild是Vista和Visual Studio 2005中一項新的特性,伴隨著Visual Studio 2005的發布,就標志著微軟已經遷移到新一代的統一生成平臺。現在所有的項目都可以很輕松地通過MSBuild生成.NET程序集。更加激動人心和有益的是,在編譯和生成一個應用程序時,并不需要Visual Studio 2005作為必需的支持,我們完全可以采用MSBuild生成應用程序。假如你安裝了Windows SDK的話,MSBuild也會發布到你的計算機中。

  提示:假如使用Visual Studio 2005創建一個XAML應用程序的話,那么你完全不用理會MSBuild生成應用程序的具體細節。Visual Studio 2005將會自動地為該XAML程序創建一個項目文件, 而后MSBuild將按照這個項目文件指定的方式進行工作。

  提示:可以通過"開始"-"所有程序"-"Microsoft Windows SDK"-"CMD"打開MSBuild控制臺窗口。你可以在命令提示符中輸入"msbuild /help"查看所有與MSBuild相關的命令。

  MSBuild會讀取一個基于xml的、擴展名為.csproj或vbcsproj的項目文件,并按照該項目文件指定的方式,生成相應的可執行程序。在項目文件中包含一系列的XML元素,我們在這里只介紹一些重要的XML元素和它們的對應設置。各個XML元素的描述如下:

  Project 所有的項目文件都必需的根元素

  PropertyGroup 包含一些項目屬性的設置,例如我們在生成一個項目時是采用Debug方式還是Release方式。

  ItemGroup 包含一系列的項目,用來指定組成該項目的代碼文件或資源文件。

  Import 答應你導入其它的一些項目文件,例如將一些目標文件導入到某項目文件中

  我們可以有很多方式為MSBuild配置對應的項目文件,當然最便捷的方法就是直接使用Visual Studio 2005,它會自動地生成相應的項目文件。下面是一個最簡單的項目文件示例,其代碼如下:

01 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
02 <PropertyGroup>
03 <AssemblyName>MyFirstapplication</AssemblyName>
04 <TargetType>winexe</TargetType>
05 <Configuration>Release</Configuration>
06 <OutputPath>./</OutputPath>
07 </PropertyGroup>
08 <ItemGroup>
09 <Reference Include="System" />
10 <Reference Include="WindowsBase" />
11 <Reference Include="PresentationCore" />
12 <Reference Include="PresentationFramework" />
13 </ItemGroup>
14 <ItemGroup>
15 <ApplicationDefinition Include="MyApp.xaml" />
16 <Page Include="Page1.xaml" />
17 </ItemGroup>
18 <Import Project="$(MSBuildBinPath)/Microsoft.CSharp.targets" />
19 <Import Project="$(MSBuildBinPath)/Microsoft.WinFX.targets" />
20 </Project>
  上述的項目文件中,我們在第1行使用了Project元素了,并為其xmlns屬性指定了命名空間。注重這個屬性是必需的,而且其屬性值必須為http://schemas.microsoft.com/developer/msbuild/2003。我們在前面提及過,PropertyGroup中包含一些項目屬性的設置,例如在第3行代碼中,我們使用AssemblyName元素來設置MSBuild產生最終的可執行程序名,第4行代碼使用TargetType元素指定生成的程序類型,我們可以在<TargetType>…</TargetType>之間設置4種不同的值,在本例中為"winexe",表明生成的目標程序類型是一個圖形化程序(不是控制臺程序,可以為窗體形式,也可以為瀏覽器形式)。假如將其值設置為"exe",則生成的是一個控制臺程序。"Library"是一個DLL程序集,"Netmodule"生成的則是一個程序集中的模塊。第5行代碼中的Configuration元素是一個可選項,假如想使用debug生成方式的話,可以將其設置為"debug",默認的生成方式為"Release"。第6行代碼中的OutputPath元素用來指定生成文件存放的文件夾,而本例中的"./"表示生成的文件將直接生成在根目錄下。第9到13行的<ItemGroup>…</ItemGroup>中包含4個Reference元素,在這里我們可以使用"Include"屬性來語言一個動態鏈接庫文件,而"System"、"WindowsBase"等就是這些DLL文件的名稱,這些動態鏈接庫文件中包含了WPF中所有的核心類。第14到17行的<ItemGroup>…</ItemGroup>中,我們使用ApplicationDefinition元素的"Include"屬性指定該XAML程序的應用程序定義文件為"MyApp.xaml"。使用Page元素的"Include"屬性指定該XAML程序中使用到的XAML頁面文件(假如該XAML頁面還包含代碼后置文件的話,那么還必須使用Compile屬性指定對應的代碼后置文件)。最后要注重的就是第18、19代碼所使用的Import元素,該元素答應你包含其它的項目文件,其中該元素的Project屬性是必選的,用來指定所要包含的項目文件。一般情況下,我們通常使用Import元素來導入標準的目標文件,其中一個是Microsoft.WinFX.targets,另外一個則是和適當的語言相關的目標文件-Microsoft.CSharp.targets或Microsoft.VisualBasic.targets。大多數的WPF程序在生成時都需要上述兩個文件中定義的目標。


  對一個C#的項目來說,標準的Import語句如下:

01 <Import Project="$(MSBuildBinPath)/Microsoft.CSharp.targets" />
02 <Import Project="$(MSBuildBinPath)/Microsoft.WinFX.targets" />
  而對一個VB.NET項目來說,標準的Import語句如下:

01 <Import Project="$(MSBuildBinPath)/Microsoft.VisualBasic.targets" />
02 <Import Project="$(MSBuildBinPath)/Microsoft.WinFX.targets" /> QQRead.com 推出數據恢復指南教程 數據恢復指南教程 數據恢復故障解析 常用數據恢復方案 硬盤數據恢復教程 數據保護方法 數據恢復軟件 專業數據恢復服務指南
  現在通過一個完整的步驟來創建并生成上述的WPF程序,以便你可以快速地進入學習XAML的歷程。

  1、首先我們在創建一個目錄,在這里D盤上創建了一個FirstDemo文件夾,而后通過"開始"-"所有程序"-"附件"-"記事本"打開記事本程序,并將程序代碼2-1輸入到記事本中。使用"文件"-"保存"命令將該文件保存到FirstDemo文件夾中,在彈出的"另存為"對話框,我們將保存類型設置為"所有文件",并在文件名處填上"MyApp.xaml"。如下圖所示

XAML開發入門之創建XAML應用程序(圖一)

  2、再在記事本中分別創建和保存Page1.xaml頁面,其實現的方式和MyApp.xaml相同。現在我們要創建一個工程文件,由于本章中的所有示例都是采用C#進行代碼邏輯的編寫,所以我們創建的工程名稱為"firstdemo.csproj"。創建上述的3個文件后,FirstDemo文件夾中的內容如下圖所示。

XAML開發入門之創建XAML應用程序(圖二)

  3、現在我們要使用MSBuild將這些文件生成一個WPF程序,為此,我們可以通過"開始"-"所有程序"-"Microsoft Windows SDK"-"CMD"打開MSBuild控制臺窗口,默認狀態我們所處目錄是Windows SDK的安裝路徑。假如要使用MSBuild來執行firstdemo.csproj文件,我們必須轉到"D:/FirstDemo"路徑中,為此,我們可以在光標處輸入"CD /"返回到D盤根目錄,而后再通過"CD FirstDemo"命令進入"D:/FirstDemo"路徑。具體的實現圖如下

XAML開發入門之創建XAML應用程序(圖三)

  4、通過"DIR"命令可以查看當前目錄中的各個文件,如圖所示

XAML開發入門之創建XAML應用程序(圖四)

  5、現在我們就可以通過msbuild命令來執行firstdemo.csproj文件,直接在光標處輸入"msbuild firstdemo.csproj"命令。生成成功后的顯示如下:

XAML開發入門之創建XAML應用程序(圖五)

  6、打開FirstDemo文件夾,可以看到其包含的文件方式了一些改變,我們可以直接雙擊MyFirstApplication.exe來運行這個生成后的WPF程序。

  7、該WPF程序最終的呈現效果如下圖所示,

XAML開發入門之創建XAML應用程序(圖六)

  和XAML的呈現效果比較,發現它們是不是和一樣呢?在上圖我們可以看到窗體的上方有兩個類似瀏覽器"前進"和"后退"的按鈕,這表明該WPF是一個宿主于瀏覽器的呈現。假如你將Pgae1.xaml的根元素Page改為Window,執行生成該程序,你將發現最后不再是在瀏覽器中進行呈現。其效果如下所示:

XAML開發入門之創建XAML應用程序(圖七)

  也就是說我們可以在一個XAML文件中設置其根元素,假如為Page,表示它將宿主于瀏覽器。若為Window的話,則是和傳統的桌面程序那樣直接進行呈現。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰顺县| 重庆市| 绥江县| 涡阳县| 西乌珠穆沁旗| 蕲春县| 彩票| 阳信县| 阳城县| 安徽省| 普安县| 密山市| 沧源| 策勒县| 阳朔县| 太仆寺旗| 张家港市| 和龙市| 合川市| 时尚| 苗栗县| 化州市| 田东县| 巴中市| 紫金县| 仪陇县| 安宁市| 黑山县| 独山县| 德惠市| 东兴市| 固原市| 淮南市| 广宁县| 沙雅县| 张家川| 丹东市| 广宗县| 宣威市| 共和县| 岳阳市|