日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XAML实例教程系列 – 对象和属性

發布時間:2025/6/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XAML实例教程系列 – 对象和属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在前一篇已經介紹XAML概念:“XAML語言是Extensible Application Markup Language的簡稱,英文發音是“zammel”,中文稱為“可擴展應用程序標記語言”,該語言是基于Extensive Markup Language(XML)可擴展標記語言,主要用于Silverlight,WPF,Windows Phone以及Windows 8應用開發,并且用于描述.Net層次型結構對象。” 換句話說,XAML不僅可被用于多種平臺應用UI設計,而且可以使用層次型結構描述一個對象,這樣使UI開發更加規范,設計工具的統一,使得開發人員和設計人員之間無縫結合,項目開發流程更佳規范和順暢。?

XAML是一種敏感型,聲明性語言,對于字符大小寫有嚴格的約束,在項目中,以".xaml"作為文件擴展名。XAML頁面和ASP.NET的ASPX頁面類似,都具有一個后臺代碼文件控制頁面邏輯處理,這一機制將用戶界面設計和后臺代碼設計分割,這意味著項目美工人員可以使用Expression Blend進行XAML用戶界面設計,同時后臺代碼開發人員可在Visual Studio中共享該XAML文件,并同時設計其后臺代碼。

XAML學習方法和經驗

根據微軟Open Specification Promise(OPS) program文檔介紹,XAML文檔是一個XML文檔,在一定程度上XAML繼承了大量的XML概念,而最重要的兩個概念分別是Element(元素)的定義和Property(屬性)的使用。 所以,如果你熟悉XML,其實已經具備XAML語法基礎, 如果你具有XML開發經驗,學習XAML將會事半功倍。?理解和掌握XAML語言最簡單的方法是使用具有XAML視圖工具和XAML代碼相互比較學習,這樣會更形象化理解XAML的使用。例如使用Visual Studio或Expression Blend等。使用設計工具,可以同時顯示XAML代碼和設計視圖效果,并且設計視圖效果能夠根據XAML代碼更新即時更新。 值得注意的是,微軟為開發人員和設計人員提供了方便快捷的設計方式,使用簡單的拖拽即可完成一個控件或者頁面的聲明,但是作為一名專業開發人員,需要對XAML代碼理解和掌握,否則一旦遇到復雜項目,將會出現XAML開發瓶頸。

在開始介紹XAML基礎前,首先創建一個實例項目,通過實例項目代碼幫助學習XAML語言。在Visual Studio 11中創建一個Windows 8 Metro Style空白頁面項目,項目名“XamlGuide",


? 默認BlankPage.xaml代碼:
?

XAML基礎 - Object (對象)

在XAML代碼中,一個Element(元素)通常是一個Object(對象),在代碼中映射對應.Net類。簡單理解,在XAML中聲明一個Element元素,也就是對相應公共語言運行類庫進行一次實例化操作。?

XAML代碼聲明一個元素對象,必須由一個開始標簽“<元素對象>”和一個結束標簽“</元素對象>”構成,基本語法如下:? <元素對象></元素對象>

例如,在XAML中聲明一個文本框,代碼如下:

<TextBox></TextBox> 上述代碼中開始標簽“<TextBox >”是實例化對象名稱。結束標簽“</TextBox >”,是對應開始標簽中的元素對象名稱。 在windows 8和silverlight的XAML語法中,支持略縮式元素結束標簽,其語法格式如下: <TextBox /> 該語法格式省略</TextBox>結束標簽,使用“/”符號作為元素結束符。 值得注意的是,XAML中Elements(元素)和Attributes(特性)名稱是字符大小寫敏感型,也就是大寫和小寫字符命名具有不同的含義。在上述代碼中,如果使用<textbox>,XAML語法解析器將返回錯誤信息,無法對textbox元素進行實例化。

?

XAML基礎 - Property (屬性)

在面向對象程序開發中,我們所提及的屬性,即是指對象的屬性。而開發過程中,對象屬性也是最重要,最常用的概念。?在XAML代碼中,允許開發人員聲明“元素對象”,不同的“元素對象”對應著多個對象屬性。例如,一個TextBox文本框,有背景屬性,寬度屬性,高度屬性等。為了適應實際項目的需求,XAML提供三種方法設置屬性,分別是:

1.通過Attribute特性設置對象屬性; 2.通過Property屬性元素設置對象屬性; 3.通過隱式數據集設置對象屬性; 下面將分別介紹這三種屬性設置方法的基礎語法和使用方法。

Attributes特性的概念


? 在XAML代碼中,允許在開始標簽的對象名后使用Attributes(特性)定義一個或者多個對象元素的屬性,實現屬性賦值操作,其語法結構如下 <元素對象 屬性名=“屬性值” 屬性名=“屬性值” …></元素對象>? 例如,在TextBox文本框中添加默認文本內容,將文本內容賦值到Text屬性即可, <TextBox Text=“XAML實例教程系列”></TextBox> 由于元素對象屬性名在開始標簽內部,所以這種表達方式也被稱為“內聯屬性”。 Property屬性元素的概念 使用XAML的Attribute特性可以簡單快捷的設置對象的屬性,其屬性值局限于簡單的字符形式。在實際項目中,經常會遇到復合型控件或者自定義控件引用較為復雜的對象屬性,以達到個性化的效果。對此Attribute特性無法支持,從而引入Property屬性元素的概念。 在傳統.Net開發語言中,調用一個對象屬性,可以簡單的使用以下格式實現: 元素對象.屬性 = 屬性值 例如,在C#代碼中,調用一個按鈕的內容屬性,代碼為: Button.Content = “XAML實例教程系列”; 而在XAML代碼中,其調用方法類似與.Net開發語言屬性使用方法,其語法格式為: <元素對象> ? <元素對象.屬性> ? ? ?<屬性設置器 屬性值=“”> ? </元素對象.屬性> </元素對象>

其中,屬性設置器可以設置為較為復雜的對象元素,例如布局控件元素,自定義控件元素等。

下面是用一個按鈕控件演示Property屬性的作用,設置按鈕內容是使用Content屬性,如果使用Attribute特性設置按鈕內容,如下代碼:
? 其運行結果為:
? 如果需要在按鈕內容中添加一個圖片,使其具有個性化效果,將無法使用Attribute特性進行設置,這時可以嘗試使用Property屬性設置方法,例如:

在上面的示例代碼中,按鈕的Content內容屬性以<元素對象.屬性>的形式出現在<Button></Button>中,屬性值設置器被StackPanel布局控件替代,在StackPanel布局控件中,分別定義了Image控件和TextBlock控件,用來顯示圖片和按鈕文本內容,其運行效果如下:?


? 從示例中可以看出,使用元素對象的Property屬性設置方法,比Attribute特性要靈活和強大。如果使用Property屬性設置簡單文本,也可以使用以下方法:

其運行效果和Attribute特性設置按鈕內容相同。Property屬性元素是用戶界面設計中最常用的屬性設置方法,在隨后的章節中會經常出現。?

隱式數據集設置對象屬性 通過學習Property屬性元素,可以了解到XAML的元素對象屬性,不僅包含單一對象屬性,同時還支持復雜屬性,屬性值可以為簡單的字符數據類型,同時也可以是一個數據集。

為了簡化XAML代碼復雜性,提高代碼易讀性,XAML提供隱式數據集設置對象屬性方法。例如,在XAML中為一個ComboBox組合框賦值,傳統代碼如下:


? 在以上代碼中,使用了<ComboBox.Items>屬性賦值ComboBoxItem內容,使用隱式數據集設置對象屬性方法,可以修改以上代碼為:
?

從對比以上代碼可以看出<ComboBox.Items>被刪除后,<ComboBox>仍舊可以對ComBoxItem進行賦值操作。其運行結果和使用Property屬性元素屬性賦值相同:?



?

另一個隱式數據集屬性賦值的例子,在XAML代碼可以直接生成漸變背景效果,實現方法是使用畫刷類的GradientStops屬性控制,在下面的代碼中,我們嘗試生成一個藍色背景漸變效果:?
?

在以上代碼中,對<LinearGradientBrush.GradientStops>屬性賦值,使用<GradientStopCollection>數據集描述漸變效果。如果使用隱式數據集屬性賦值方法,則可以修改以上代碼為:?


?

兩段代碼運行結果相同:

?
? 隱式數據集屬性賦值方法在Windows 8和Silverlight自定義控件模板和樣式中經常用到,是常用屬性賦值方法之一。

今天暫時介紹到這里,歡迎留言討論。

源代碼下載

?

歡迎大家留言交流,或者加入QQ×××流學習:

22308706(一群) 超級群500人
37891947(二群) 超級群500人
100844510(三群) 高級群200人
32679922(四群) 超級群500人
23413513(五群) 高級群200人
32679955(六群) 超級群500人
88585140(八群) 超級群500人
128043302(九群 企業應用開發推薦群) 高級群200人
101364438(十群) 超級群500人
68435160(十一群 企業應用開發推薦群)超級群500人

轉載于:https://blog.51cto.com/kevinfan/872476

總結

以上是生活随笔為你收集整理的XAML实例教程系列 – 对象和属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色一级片黄色一级片 | 午夜精品免费视频 | 操亚洲美女| 国产成人在线看 | 国产成人综合在线视频 | 奇米中文字幕 | 亚洲精品乱码久久久久久蜜桃91 | 成人精品一区二区三区四区 | 裸体一区二区三区 | 九九热精品视频 | 日本亚洲精品 | 884aa四虎影成人精品一区 | 青青草成人免费视频 | 亚洲国产黄色片 | 精品亚洲永久免费 | 噼里啪啦免费看 | 神马久久香蕉 | 超碰520| 狠狠干欧美| 亚洲剧情av | 亚洲网视频 | 先锋影音av资源网 | 91成人精品国产刺激国语对白 | 成人亚洲精品久久久久软件 | 亚洲国产精品无码久久久 | 成人毛片在线播放 | www日韩在线 | 波多野结衣在线视频播放 | 欧美一区二区三区在线观看视频 | 亚洲天堂五月天 | 丝袜美腿中文字幕 | 香蕉传媒| 97国产精品久久 | 欧美a√ | 国产真人真事毛片 | 一区二区三区四区人妻 | 国产精品香蕉在线 | 欧美13p | 久久久精品国产sm调教 | 色眯眯视频 | 亚洲黄色a级片 | 播播开心激情网 | 男人添女人下部高潮全视频 | 激情噜噜 | 在线免费观看中文字幕 | 亚洲欧美偷拍一区 | 五月婷六月 | 精品久久人人妻人人做人人 | 国产精品亚洲lv粉色 | 高潮videossex高潮| 国产成人精品一区二区三区在线 | 久一国产 | 亚洲九色 | 免费国产黄 | 成年人免费在线看 | 久久精品免费网站 | 亚洲天堂av网站 | 亚洲精品一区二区 | 日韩在线网 | 东京热一本视频一区 | 伊人激情 | 久草福利资源在线观看 | 亚洲色图27p | 精品福利在线视频 | 男人猛吃奶女人爽视频 | 亚洲成人av免费 | 人妻无码中文久久久久专区 | 国产在线国偷精品免费看 | 国产精品久久久久久影视 | 久草毛片| 特级丰满少妇一级aaa爱毛片 | 女生扒开尿口 | 三级中文字幕在线 | 日本夜夜操 | 中文字幕首页 | 亚洲资源av | 7777精品久久久久久 | 亚洲字幕| 九九午夜 | 打屁股疼的撕心裂肺的视频 | 丁香九月婷婷 | 蜜臀久久 | 超碰99在线 | 一曲二曲三曲在线观看中文字幕动漫 | 成年人国产视频 | 狠狠2020| 男人天堂综合网 | 美女精品久久 | 天天色天天干天天 | 亚洲成人伦理 | 欧美人交a欧美精品 | 日韩精品一区二区三区电影 | 午夜av在线免费观看 | 男女视频在线观看免费 | 日韩亚洲视频在线观看 | 好吊色在线视频 | 欧美成人777 | 欧美xxxxx少妇| 亚洲色图校园春色 |