IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > WindowsPhone自定義控件詳解(一) - 控件類庫分析

WindowsPhone自定義控件詳解(一) - 控件類庫分析 時(shí)間:2014-11-27      來源:未知

為了讓你的應(yīng)用程序更有個(gè)性,我們通常會(huì)在WP7開發(fā)過程中會(huì)自定義自己風(fēng)格的控件,自定義控件中設(shè)置各種模板,綁定數(shù)據(jù),修改控件行為,但是對于很多朋友來說,這么做是為什么? 不是很清楚,看MSDN的話,又一時(shí)找不到頭緒,本文就是從控件類庫的繼承關(guān)系里來剖析出自定義控件中的為什么?如果你覺得本文觀點(diǎn)獨(dú)特,對你有很大幫助,請頂之,謝謝。

一、 控件分類

讓我們先從我們熟悉的控件分類開始,因?yàn)檫@樣理解更直觀。

WP7里基本控件可以分為以下四類:

1.文本控件:主要用于顯示和輸入文本

2.內(nèi)容控件:主要用于包含一個(gè)子控件元素UIElement(UIElement是所有可視UI控件的基類,我叫它第三代控件祖宗)

3.項(xiàng)集合控件:從名字可以知道,它是包含有多個(gè)子項(xiàng)的控件,如ListBox

4.容器控件:它可以包含有多個(gè)子控件元素(UIElement)

如下表所示,常用基本控件。

控件 控件類型 內(nèi)容屬性
TextBlock 文本控件 TextBlock.Text
  TextBlock.Inlines
TextBox 文本控件 TextBox.Text
PasswordBox 文本控件 PasswordBox.Password
Button 內(nèi)容控件 ContentControl.Content
CheckBox 內(nèi)容控件 ContentControl.Content
RadioButton 內(nèi)容控件 ContentControl.Content
ListBoxItem 內(nèi)容控件 ContentControl.Content
ListBox 項(xiàng)集合控件 ItemsControl.Items
  ItemsControl.ItemsSource
Canvas 容器控件 Panel.Children
Grid 容器控件 Panel.Children
StackPanel 容器控件 Panel.Children

二、主要控件基類

System.Windows.Controls命名空間下,包含以下幾個(gè)主要的控件基類:
  ? Control
  ? ContentControl
  ? ItemsControl
  ? Panel

1. Control:表示用戶界面控件的基類

主要屬性:

? Control.Template 屬性:

通過將ControlTemplate應(yīng)用給Control.Template 屬性來定義其外觀。所有繼承自Control類的子類,都繼承Template屬性,也就意味著,你可以通過自定義ControlTemplate來實(shí)現(xiàn)Control子控件的自定義。 注意:它有一個(gè)子類UserControl,用于快速創(chuàng)建控件,不過,你不能自定義ControlTemplate,并將它應(yīng)用于UserControl。

主要事件:

? GotFocus,LostFocus 
當(dāng)控件獲得或失去焦點(diǎn)時(shí)回調(diào)

MouseLeftButtonUp ,MouseMove ,MouseLeftButtonDown
當(dāng)控件被點(diǎn)擊,移動(dòng)時(shí)分別回調(diào)

ManipulationStarted ,ManipulationDelta, ManipulationCompleted
當(dāng)用戶對控件開始進(jìn)行操作時(shí)回調(diào)ManipulationStarted,當(dāng)用戶對控件操作并更改位置時(shí)回調(diào)ManipulationDelta,當(dāng)用戶對控件停止操作時(shí),回調(diào)ManipulationCompleted。

SizeChanged

當(dāng)代表控件大小的ActualHeight 或 ActualWidth屬性改變時(shí)回調(diào)

2. ContentControl:是其他內(nèi)容控件的基類,表示包含單項(xiàng)元素的內(nèi)容控件。像 Button、CheckBox 和 ScrollViewer 這樣的控件直接或間接繼承自該類。

主要屬性:

? ContentControl. Content 屬性:

ContentControl.Content 屬性可以是任何類型的對象,例如字符串、UIElement 或 DateTime。當(dāng)ContentControl.Content 設(shè)置為 UIElement 時(shí),ContentControl 中將顯示 UIElement。當(dāng)ContentControl.Content 設(shè)置為其他類型的對象時(shí),ContentControl 中將顯示該對象的字符串表示形式。

注意:ContentControl 具有有限的默認(rèn)樣式。如果要增強(qiáng)該控件的外觀,可以創(chuàng)建新的 DataTemplate類型屬性用于自定義。

ContentControl. ContentTemplate屬性:

它是一個(gè)DataTemplate對象元素,定義該ContentControl的內(nèi)容顯示外觀。

3. ItemsControl:是項(xiàng)集合類的基類。

主要屬性:

? Items屬性:

如果要顯示固定列表,則應(yīng)當(dāng)用一個(gè)或多個(gè) FrameworkElement 子對象填充ItemsControl .Items屬性,并且不要指定ItemsSource。

? ItemsSource屬性:

如果要顯示對象數(shù)據(jù)源中的數(shù)據(jù),則應(yīng)將ItemsSource指定為對某個(gè)對象的引用。 通常,這可通過 Binding 聲明來實(shí)現(xiàn),

? ItemsPanel屬性:

設(shè)置該屬性來自定義項(xiàng)集合控件的布局方式,是一個(gè)ItemsPanelTemplate類型元素。

? ItemTemplate屬性:

設(shè)置該屬性來指定項(xiàng)集合控件中,每一個(gè)Item項(xiàng)的數(shù)據(jù)顯示外觀,是一個(gè)DataTemplate類型元素。

4. Panel: 是容器控件的基類,比如:Canvas, Grid, StackPanel。

自定義布局行為可以通過以下方式來實(shí)現(xiàn):從 Panel 繼承并使用 MeasureOverride 和 ArrangeOverride 方法重寫默認(rèn)度量和排列行為。

上面解釋的基類中的主要屬性和方法是我們在自定義控件時(shí)去修改的東西,通過中間的繼承關(guān)系圖可以看得出,Panel類與Control類沒有任何繼承關(guān)系,這也就從祖宗這輩上決定了其孩子的特性不一樣,所以在對兩個(gè)大分支類進(jìn)行自定義時(shí)不一樣,Panel類主要是包含其它控件的容器控件,對容器控件的主要自定義就是設(shè)置不同的被包含控件之間的布局,因此重載其兩個(gè)測量方法。而Contorl類是用戶交互類,有外觀,有交互操作,對其子類主要是自定義其外觀和操作,也就是說,通過設(shè)置其Template屬性和重載具體的事件來達(dá)到目的。

? ContentControl類是Control類的子類,它有Control的特點(diǎn),不過,它是內(nèi)容控件,主要用來包含一個(gè)UIElement。

? 既然包含一個(gè)UIElement,就要設(shè)置這個(gè)UIElement的內(nèi)容,即:Content屬性。

? 通過ContentTempalte來定義這個(gè)被包含的UIElement的外觀,因此,如果要自定義外觀那就是重新創(chuàng)建新的DataTempalte,應(yīng)用到ContentTempalte屬性嘍。

? ItemsControl類是Control類的子類,同樣繼承了該繼承的東西,它是個(gè)項(xiàng)集合類,可以包含多個(gè)子項(xiàng)Item。

? 它有Items屬性和ItemsSource讓用戶來指定包含哪些子項(xiàng)。

? 各子項(xiàng)之間要怎樣布局,就有了ItemtPanel屬性用來讓用戶指定。

? 每一個(gè)子項(xiàng)是一個(gè)內(nèi)容控件,它具有ContentControl的特點(diǎn),因此還要通過ItemTempalte屬性指定每一個(gè)項(xiàng)的外觀。

上一篇:進(jìn)程與線程的空間問題

下一篇:字符設(shè)備驅(qū)動(dòng)框架搭建流程

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺(tái)專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 网络广播_公共广播系统_校园,学校数字ip,itc智能广播系统方案 | 室内模拟高尔夫,射箭馆-北京鹰搏蓝天科技有限公司 | 深圳办公室装修_设计_实景_效果图_哪家好-公装装饰公司 | 九江市京邦玻纤有限公司| 威学一百-专注国际学校择校备考-DSE-A-level-雅思-托福-OSSD-港澳台联考-AP-IGCSE-IB-AMC-多邻国-PTE-SAT-SSAT-小语种(如日语,韩语,德语,法语,西班牙语,意大利语,俄语,泰语)等考试培训,为出国留学学生提供个性化定制性学习方案,线下实体面授+线上网络课程, 提供一对一,小班课等多种班型 | 山东向阳电子科技有限公司-多用户集中式电能表生产厂家,NB物联网水表,刷卡水电表生产厂家,泰安智能水电表价格 | 中房网_中国房地产业协会官方网站 | 限矩型液力偶合器_调速型液力偶合器_摩擦型耦合器生产厂家-河南省华升矿机有限公司 | 泰安华特玻璃钢有限公司|泰安玻璃钢|泰安华特玻璃钢 | 悬挂式小鼠笼架,植物标本采集箱,昆虫标本盒厂家-北京合力科创科技发展有限公司 | 易众拍卖行-事故车拍卖,残值车拍卖,水淹车拍卖,全损车拍卖,修复车拍卖,碰橦车拍卖,瑕疵车拍卖,报废车拍卖,泡水车拍卖,拆车件拍卖,配件拍卖,火烧车拍卖,二手车拍卖专业线上平台 | 莫非传媒官网-江西知名的网络营销推广服务平台南昌网络公司,专业网络公关,品牌危机处理,网站SEO优化,微信朋友圈广告,网站建设,南昌莫非文化传媒有限公司 | 江门摩托车配件|江门电动车配件|江门市盛泰嘉金属塑料制品有限公司 | 陕西硅酸钙板厂家_西安水泥压力板-陕西凯盛达建材科技有限公司 | 山东宇帆航空科技有限公司官网| 真空清洗炉_真空煅烧炉_铸铝加热器-盐城市钰凯电器有限公司 | 网带输送机_皮带_滚筒_链板输送机_不锈钢输送链条生产厂家-宁津县鸿昶机械设备有限公司 | 锯轨机|气动锯轨机|内燃锯轨机|电动钢轨钻孔机|内燃钢轨钻孔机-山东卓力铁路设备有限公司 | 意大利留学-意大利语培训-马来西亚留学【长青藤海外】 | 转轮除湿机,转轮除湿机,恒温恒湿机厂家_合肥铂克环境设备有限公司 | 胜亿网-专注B2B电子商务,为企业提供一站式网络服务 | 长春互联网运营值选星广传媒,长春短视频运营,长春新媒体运营,长春互联网运营,长春抖音运营,吉林视频号代运营,吉林快手代运营,短视频推广公司,公众号运营,微博运营,新媒体运营 | 宿迁网站建设-宿迁做网站-宿迁网站制作-宿迁网络公司-宿迁网页设计-宿迁软件开发-宿迁新动力软件开发有限公司 | 化妆粉扑厂家【秀兰】一线品牌资格供应商_海绵粉扑批发_气垫粉扑价格_广州秀兰生物科技有限公司 化工招聘网 化工人才网|化工英才网-化工企业招聘首选网站 | 真空机器人维修_晶圆机械手保养_半导体机械臂维修_面板机器人保养_AMHS改造-广州市广科智能技术有限公司 | 生物柴油设备,乙醇精馏塔,醋酸精馏塔生产厂家-无锡弘鼎华化工设备有限公司 | 项目可行性研究报告_稳评能评节能报告_节能报告收费标准-智汇中经(上海)管理咨询有限公司 | 洛阳轴承研究所有限公司 | 铨盛国际供应链-PC增韧剂/硅系增韧剂/耐寒增韧剂/耐化学增韧剂 | 兰州职业学校-新华互联网学校咨询平台中心 | 进销存软件|仓库管理软件|库存物资出入库|ERP生产|MRP|易特软件官方网站 | 南京三维动画制作公司,企业视频制作,视频拍摄,FLASH动画设计,宣传片拍摄,广告片制作 | 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 - 秦皇岛天视影像有限公司,宣传片创意拍摄制作,商业广告拍摄公司,影视影像服务商 秦皇岛市信恒电子科技有限公司 秦皇岛市华谊彩印有限公司 | 拉丝模|高晶异形拉丝模|联合拉拔机模具|钼丝拉丝模|金刚石纳米涂层模|焊丝拉丝模|钨钢拉丝模|聚晶拉丝模_河北恩泰利嘉金属制品有限公司 | 绝缘油介电强度测试仪|d33压电测试仪|准静态d33压电测量仪厂家直销-上海蓝巢电气有限公司【官网】 | 兰舍硅藻泥 -- 深圳硅藻泥|深圳兰舍硅藻泥|深圳硅藻泥品牌|深圳硅藻泥价格|深圳硅藻泥厂家|深圳硅藻泥施工| | 煤泥烘干机,酒糟烘干机,药渣烘干机,酵母烘干机,烘干机厂家-瑞奥新能源 | 石材雕刻机_墓碑雕刻机_木工雕刻机_雕刻机厂家-合肥沃力数控设备有限责任公司 | 铱金供应-上海钌合金-氯铱酸厂家-上海庞势新材料科技有限公司 | 数控落地镗铣床_数控刨台式镗铣床_数控龙门加工中心-青岛辉腾机械设备有限公司 | 水表_智能电表_抄表软件_ic卡水控机_电磁水表厂家-深圳市华熙仪数码科技有限公司 |