版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、在前一篇已經(jīng)介紹XAML概念:“XAML語言是Extensible Application Markup Language的簡稱,英文發(fā)音是“zammel”,中文稱為“可擴展應(yīng)用程序標(biāo)記語言”,該語言是基于Extensive Markup Language(XML)可擴展標(biāo)記語言,主要用于Silverlight,WPF,Windows Phone以及Windows 8應(yīng)用開發(fā),并且用于描述.Net層次型結(jié)構(gòu)對象?!?換句話說,XAML不僅可被用于多種平臺應(yīng)用UI設(shè)計,而且可以使用層次型結(jié)構(gòu)描述一個對象,這樣使UI開發(fā)更加規(guī)范,設(shè)計工具的統(tǒng)一,使得開發(fā)人員和設(shè)計人員之間無縫結(jié)合,項目開發(fā)流程更佳
2、規(guī)范和順暢。 XAML是一種敏感型,聲明性語言,對于字符大小寫有嚴(yán)格的約束,在項目中,以.xaml作為文件擴展名。XAML頁面和ASP.NET的ASPX頁面類似,都具有一個后臺代碼文件控制頁面邏輯處理,這一機制將用戶界面設(shè)計和后臺代碼設(shè)計分割,這意味著項目美工人員可以使用Expression Blend進行XAML用戶界面設(shè)計,同時后臺代碼開發(fā)人員可在Visual Studio中共享該XAML文件,并同時設(shè)計其后臺代碼。XAML學(xué)習(xí)方法和經(jīng)驗根據(jù)微軟Open Specification Promise(OPS) program文檔介紹,XAML文檔是一個XML文檔,在一定程度上XAML繼承了大
3、量的XML概念,而最重要的兩個概念分別是Element(元素)的定義和Property(屬性)的使用。 所以,如果你熟悉XML,其實已經(jīng)具備XAML語法基礎(chǔ), 如果你具有XML開發(fā)經(jīng)驗,學(xué)習(xí)XAML將會事半功倍。 理解和掌握XAML語言最簡單的方法是使用具有XAML視圖工具和XAML代碼相互比較學(xué)習(xí),這樣會更形象化理解XAML的使用。例如使用Visual Studio或Expression Blend等。使用設(shè)計工具,可以同時顯示XAML代碼和設(shè)計視圖效果,并且設(shè)計視圖效果能夠根據(jù)XAML代碼更新即時更新。值得注意的是,微軟為開發(fā)人員和設(shè)計人員提供了方便快捷的設(shè)計方式,使用簡單的拖拽即可完成一
4、個控件或者頁面的聲明,但是作為一名專業(yè)開發(fā)人員,需要對XAML代碼理解和掌握,否則一旦遇到復(fù)雜項目,將會出現(xiàn)XAML開發(fā)瓶頸。在開始介紹XAML基礎(chǔ)前,首先創(chuàng)建一個實例項目,通過實例項目代碼幫助學(xué)習(xí)XAML語言。在Visual Studio 11中創(chuàng)建一個Windows 8 Metro Style空白頁面項目,項目名“XamlGuide, 默認(rèn)BlankPage.xaml代碼: XAML基礎(chǔ) Object (對象)在XAML代碼中,一個Element(元素)通常是一個Object(對象),在代碼中映射對應(yīng).Net類。簡單理解,在XAML中聲明一個Element元素,也就是對相應(yīng)公共語言運行類庫
5、進行一次實例化操作。 XAML代碼聲明一個元素對象,必須由一個開始標(biāo)簽“”和一個結(jié)束標(biāo)簽“”構(gòu)成,基本語法如下: 例如,在XAML中聲明一個文本框,代碼如下:上述代碼中開始標(biāo)簽“”是實例化對象名稱。結(jié)束標(biāo)簽“”,是對應(yīng)開始標(biāo)簽中的元素對象名稱。 在windows 8和silverlight的XAML語法中,支持略縮式元素結(jié)束標(biāo)簽,其語法格式如下:該語法格式省略結(jié)束標(biāo)簽,使用“/”符號作為元素結(jié)束符。 值得注意的是,XAML中Elements(元素)和Attributes(特性)名稱是字符大小寫敏感型,也就是大寫和小寫字符命名具有不同的含義。在上述代碼中,如果使用,XAML語法解析器將返回錯誤信
6、息,無法對textbox元素進行實例化。 XAML基礎(chǔ) Property (屬性)在面向?qū)ο蟪绦蜷_發(fā)中,我們所提及的屬性,即是指對象的屬性。而開發(fā)過程中,對象屬性也是最重要,最常用的概念。 在XAML代碼中,允許開發(fā)人員聲明“元素對象”,不同的“元素對象”對應(yīng)著多個對象屬性。例如,一個TextBox文本框,有背景屬性,寬度屬性,高度屬性等。為了適應(yīng)實際項目的需求,XAML提供三種方法設(shè)置屬性,分別是:1. 通過Attribute特性設(shè)置對象屬性;2. 通過Property屬性元素設(shè)置對象屬性;3. 通過隱式數(shù)據(jù)集設(shè)置對象屬性; 下面將分別介紹這三種屬性設(shè)置方法的基礎(chǔ)語法和使用方法。Attrib
7、utes特性的概念 在XAML代碼中,允許在開始標(biāo)簽的對象名后使用Attributes(特性)定義一個或者多個對象元素的屬性,實現(xiàn)屬性賦值操作,其語法結(jié)構(gòu)如下 例如,在TextBox文本框中添加默認(rèn)文本內(nèi)容,將文本內(nèi)容賦值到Text屬性即可, 由于元素對象屬性名在開始標(biāo)簽內(nèi)部,所以這種表達方式也被稱為“內(nèi)聯(lián)屬性”。 Property屬性元素的概念使用XAML的Attribute特性可以簡單快捷的設(shè)置對象的屬性,其屬性值局限于簡單的字符形式。在實際項目中,經(jīng)常會遇到復(fù)合型控件或者自定義控件引用較為復(fù)雜的對象屬性,以達到個性化的效果。對此Attribute特性無法支持,從而引入Property屬性
8、元素的概念。 在傳統(tǒng).Net開發(fā)語言中,調(diào)用一個對象屬性,可以簡單的使用以下格式實現(xiàn): 元素對象.屬性 = 屬性值 例如,在C#代碼中,調(diào)用一個按鈕的內(nèi)容屬性,代碼為:Button.Content = “XAML實例教程系列”; 而在XAML代碼中,其調(diào)用方法類似與.Net開發(fā)語言屬性使用方法,其語法格式為: 其中,屬性設(shè)置器可以設(shè)置為較為復(fù)雜的對象元素,例如布局控件元素,自定義控件元素等。下面是用一個按鈕控件演示Property屬性的作用,設(shè)置按鈕內(nèi)容是使用Content屬性,如果使用Attribute特性設(shè)置按鈕內(nèi)容,如下代碼: 其運行結(jié)果為: 如果需要在按鈕內(nèi)容中添加一個圖片,使其具有個
9、性化效果,將無法使用Attribute特性進行設(shè)置,這時可以嘗試使用Property屬性設(shè)置方法,例如:在上面的示例代碼中,按鈕的Content內(nèi)容屬性以的形式出現(xiàn)在中,屬性值設(shè)置器被StackPanel布局控件替代,在StackPanel布局控件中,分別定義了Image控件和TextBlock控件,用來顯示圖片和按鈕文本內(nèi)容,其運行效果如下: 從示例中可以看出,使用元素對象的Property屬性設(shè)置方法,比Attribute特性要靈活和強大。如果使用Property屬性設(shè)置簡單文本,也可以使用以下方法:其運行效果和Attribute特性設(shè)置按鈕內(nèi)容相同。Property屬性元素是用戶界面設(shè)計
10、中最常用的屬性設(shè)置方法,在隨后的章節(jié)中會經(jīng)常出現(xiàn)。 隱式數(shù)據(jù)集設(shè)置對象屬性 通過學(xué)習(xí)Property屬性元素,可以了解到XAML的元素對象屬性,不僅包含單一對象屬性,同時還支持復(fù)雜屬性,屬性值可以為簡單的字符數(shù)據(jù)類型,同時也可以是一個數(shù)據(jù)集。為了簡化XAML代碼復(fù)雜性,提高代碼易讀性,XAML提供隱式數(shù)據(jù)集設(shè)置對象屬性方法。例如,在XAML中為一個ComboBox組合框賦值,傳統(tǒng)代碼如下: 在以上代碼中,使用了屬性賦值ComboBoxItem內(nèi)容,使用隱式數(shù)據(jù)集設(shè)置對象屬性方法,可以修改以上代碼為: 從對比以上代碼可以看出被刪除后,仍舊可以對ComBoxItem進行賦值操作。其運行結(jié)果和使用Property屬性元素屬性賦值相同: 另一個隱式數(shù)據(jù)集屬性賦值的例子,在XAML代碼可以直接生成漸變背景效果,實現(xiàn)方法是使用畫刷類的GradientStops屬性控制,在下面的代碼中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025單位基本建設(shè)合同簡易范文
- 2025年度公司經(jīng)理內(nèi)部審計與合規(guī)聘用合同3篇
- 二零二五年度環(huán)保建材工廠設(shè)備轉(zhuǎn)讓合同3篇
- 2025年度量子信息內(nèi)部股東股權(quán)轉(zhuǎn)讓協(xié)議書范文3篇
- 二零二五年度企業(yè)年會場地布置用品采購協(xié)議3篇
- 二零二五年度股權(quán)代持風(fēng)險管理與合作協(xié)議2篇
- 2025年度員工宿舍租賃及智能化安防系統(tǒng)合同3篇
- 2025年度綠色養(yǎng)殖場養(yǎng)殖工人勞動合同3篇
- 2025年度農(nóng)業(yè)機械出租與農(nóng)機具維修服務(wù)合同3篇
- 二零二五年度智能交通系統(tǒng)合作項目協(xié)議書模板3篇
- 2023四川測繪地理信息局直屬事業(yè)單位招考筆試參考題庫(共500題)答案詳解版
- 【《“雙減”背景下小學(xué)數(shù)學(xué)創(chuàng)新作業(yè)設(shè)計問題研究》(論文)】
- 健康養(yǎng)生管理系統(tǒng)
- 口風(fēng)琴在小學(xué)音樂課堂中的運用與實踐 論文
- 塑件模具驗收報告
- 2023年9月份濟南天橋區(qū)濼口實驗中學(xué)八年級上學(xué)期語文月考試卷(含答案)
- 信號分析與處理-教學(xué)大綱
- 特許經(jīng)銷合同
- 吉林大學(xué)藥學(xué)導(dǎo)論期末考試高分題庫全集含答案
- 2023-2024學(xué)年河北省唐山市灤州市數(shù)學(xué)七年級第一學(xué)期期末教學(xué)質(zhì)量檢測模擬試題含解析
- 數(shù)字油畫課件
評論
0/150
提交評論