Silverlight學習筆記:XAML和控制元件模型
一、XAML的語法
XAML是Silverlight應用端採用的語言,和我們平時在Asp.Net專案中使用的HTML、XML有一定的相似性。要做Silverlight專案,就必須先學習XAML:
XAML(eXtensible Application Markup Language)的中文意思是“可擴充套件應用程式標記語言”。使用XAML標記可以建立可見的UI元素,並使用生成的對應的後臺檔案操作XAML宣告的物件。XAML可以說是在XML的基礎上加上了特有的屬性元素語法以及內容元素語法,再加上它是.Net環境下的產物,所以它的特性可以描述為以下幾點:
- XAML是以XML為基礎的語言擴充套件;
- XAML必須是格式良好的XML;
- XAML中的標記對應.Net Framework中的型別。
- XAML具備物件導向及繼承的特性;
- XAML區分大小寫;
- XAML中能實現的,通過後臺程式碼同樣可以實現;
- XAML中也建立元素樹;
下面是一個使用XAML宣告的TextBox元素:
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
--><TextBox x:Name="txt01" Width="300" Height="100" AcceptsReturn="True" Margin="10" >
TextBox>
讓我們來結合XAML的特性看看從這段程式碼中能找出點什麼端倪:
- TextBox如果大小寫錯誤,則宣告失敗。
- TextBox是Silverlight提供的控制元件模型,如果拼寫錯誤,則會找不到對應.Net Framework中的型別,報錯。
- x:Name好比HTML中的ID,具有唯一標識性。
- Margin好比CSS樣式語法,控制該控制元件與周圍各元素的間距。
- 標籤要求閉合,如果缺少則宣告失敗。
學習XAML是個循序漸進的過程,先了解基礎語法,才不會在編碼中犯低階錯誤。
二、Silverlight的控制元件模型。
與Winform類似,Silverlight也擁有自身獨有的一套控制元件模型。裡面除了TextBox、Button、ComboBox這樣的一些基本控制元件,還包括一些專門為RIA設計的控制元件,比如Silder、ProgressBar、TabControl。通過使用Silverlight Toolkit工具包,還可以擁有豐富的圖表控制元件。按照控制元件的功能特性可以分為如下幾類:
- 命令控制元件:響應來自滑鼠、鍵盤、手寫筆或其他輸入裝置的使用者輸入。如,Button、RepeatButton。
- 文字編輯控制元件:提供編輯或顯示文字的控制元件。如,TextBox、Password。(剛剛釋出的Silverlight4包含RichTextBox控制元件^_^)
- 選擇控制元件:從多個預設值中選擇。如,CheckBox、RadioButton。
- 列表控制元件:用於展示列表集合。
- 日期控制元件:Canlendar和DatePicker。
- 資訊顯示控制元件:顯示少量文字或報告當前進度。TextBlock(好比是Label)、ProgressBar。
- 資料顯示控制元件:DataGrid(這個以後會變成GridView麼,呵呵)。
- 多媒體控制元件:用於顯示影像、承載音訊或視訊。Image、MediaElement。
- 佈局控制元件:Canvas、Grid控制元件。
所有控制元件類都是FrameworkElement的子類,我們可以通過XAML直接宣告這些封裝好的控制元件,也可以建立自己的使用者控制元件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-674578/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Silverlight 2 學習筆記之事件的重複繫結問題筆記事件
- 學習筆記13:微調模型筆記模型
- 學習筆記14:模型儲存筆記模型
- iOS學習筆記——基礎控制元件(上)iOS筆記控制元件
- <react學習筆記(9)>表單控制元件React筆記控制元件
- XAML常用控制元件2控制元件
- 大模型學習筆記:attention 機制大模型筆記
- CSS學習筆記(一) 盒子模型CSS筆記模型
- Dubbo學習筆記(三) RPC核心原理和執行緒模型筆記RPC執行緒模型
- UI自動化學習筆記- PO模型介紹和使用UI筆記模型
- VBA 控制元件學習筆記(下拉選單實現)控制元件筆記
- VBA 控制元件學習筆記(按鈕點選事件)控制元件筆記事件
- 學習筆記——瀏覽器物件模型(Window)筆記瀏覽器物件模型
- 機器學習-學習筆記(二) --> 模型評估與選擇機器學習筆記模型
- Java虛擬機器記憶體模型學習筆記Java虛擬機記憶體模型筆記
- systemtap和火焰圖學習筆記筆記
- Git和Maven的學習筆記GitMaven筆記
- 註解和反射學習筆記反射筆記
- Node學習筆記 Mongodb 和 Mongoose筆記MongoDB
- 學習 《模型思維》-斯科特·佩奇 筆記 9.26模型筆記
- pytorch使用交叉熵訓練模型學習筆記PyTorch熵模型筆記
- numpy的學習筆記\pandas學習筆記筆記
- XAML一些控制元件的使用控制元件
- [PyTorch 學習筆記] 7.1 模型儲存與載入PyTorch筆記模型
- 閔可夫斯基和 學習筆記筆記
- 學習筆記筆記
- ESP32 開發筆記(四)LVGL控制元件學習 3 Button 按鈕控制元件筆記控制元件
- Python深度學習(使用 Keras 回撥函式和 TensorBoard 來檢查並監控深度學習模型)--學習筆記(十六)Python深度學習Keras函式ORB模型筆記
- 機器學習筆記——模型選擇與正則化機器學習筆記模型
- 【學習筆記】數學筆記
- ESP32 開發筆記(四)LVGL控制元件學習 15 Keyboard 鍵盤控制元件 X筆記控制元件
- 《JAVA學習指南》學習筆記Java筆記
- 機器學習學習筆記機器學習筆記
- 高維字首和/SOS DP 學習筆記筆記
- Spring MVC學習筆記和SSH的整合SpringMVC筆記
- GObject學習筆記(一)類和例項GoObject筆記
- JavaScript學習筆記(一) promise和async/waitJavaScript筆記PromiseAI
- Pytest學習筆記2-setup和teardown筆記
- Devexpress 控制元件學習記錄(一:BarManager 控制元件、XtraTabbedMdiManager 控制元件)devExpress控制元件