成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入詳解WPF ControlTemplate

開發(fā) 開發(fā)工具
當我們在聲明一個WPF ControlTemplate對象的時候,需要對這個對象做一個相應(yīng)的配置,之后再將其賦值給控件的Template屬性。

WPF圖形界面顯示工具是由微軟公司研發(fā)的一款全新的圖形處理工具。它的使用可以幫助開發(fā)人員簡單的實現(xiàn)圖形界面的開發(fā)。#t#

WPF包含數(shù)據(jù)模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,這里討論一下WPF ControlTemplate。

其實WPF的每一個控件都有一個默認的模板,該模板描述了控件的外觀以及外觀對外界刺激所做出的反應(yīng)。我們可以自定義一個模板來替換掉控件的默認模板以便打造個性化的控件。

與Style不同,Style只能改變控件的已有屬性值(比如顏色字體)來定制控件,但控件模板可以改變控件的內(nèi)部結(jié)構(gòu)(VisualTree,視覺樹)來完成更為復雜的定制,比如我們可以定制這樣的按鈕:在它的左辦部分顯示一個小圖標而它的右半部分顯示文本。

要替換控件的模板,我們只需要聲明一個WPF ControlTemplate對象,并對該ControlTemplate對象做相應(yīng)的配置,然后將該ControlTemplate對象賦值給控件的Template屬性就可以了。

WPF ControlTemplate包含兩個重要的屬性:

1,VisualTree,該模板的視覺樹,其實我們就是使用這個屬性來描述控件的外觀的

2,Triggers,觸發(fā)器列表,里面包含一些觸發(fā)器Trigger,我們可以定制這個觸發(fā)器列表來使控件對外界的刺激發(fā)生反應(yīng),比如鼠標經(jīng)過時文本變成粗體等。

參考以下代碼

  1. < Button>   
  2. < Button.Template> < ControlTemplate>   
  3. < !--定義視覺樹-->   
  4. < Grid>   
  5. < Ellipse Name="faceEllipse" Width="
    {TemplateBinding Button.Width}"
     
    Height="{TemplateBinding Control.Height}" 
    Fill="{TemplateBinding Button.Background}"/>   
  6. < TextBlock Name="txtBlock" 
    Margin="{TemplateBinding Button.Padding}"
     VerticalAlignment="Center" 
    HorizontalAlignment="Center" 
    Text="{TemplateBinding Button.Content}" />   
  7. < /Grid> < !--定義視覺樹_end-->   
  8. < /ControlTemplate>   
  9. < /Button.Template>   
  10. < /Button> 

在上面的代碼中,我們修改了Button的Template屬性,我們定義了一個WPF ControlTemplate,在< ControlTemplate> ... < /ControlTemplate>之間包含的是模板的視覺樹,也就是如何顯示控件的外觀,我們這里使用了一個Ellipse(橢圓)和一個TextBlock(文本塊)來定義控件的外觀。

很容易聯(lián)想到一個問題:控件(Button)的一些屬性,比如高度、寬度、文本等如何在新定義的外觀中表現(xiàn)出來呢?
我們使用TemplateBinding 將控件的屬性與新外觀中的元素的屬性關(guān)聯(lián)起來Width="{TemplateBinding Button.Width}" ,這樣我們就使得橢圓的寬度與按鈕的寬度綁定在一起而保持一致,同理我們使用Text="{TemplateBinding Button.Content}"將TextBlock的文本與按鈕的Content屬性綁定在一起。

責任編輯:曹凱 來源: IT168
相關(guān)推薦

2009-12-23 16:13:00

WPF Attache

2023-12-28 07:39:58

C#項目框架

2009-12-28 11:41:04

WPF 3.5特點

2009-12-28 10:47:58

WPF繪圖

2009-08-20 14:22:17

C#實現(xiàn) Contro

2009-12-28 16:54:30

WPF注釋

2024-09-09 17:00:25

XAML開發(fā)

2010-01-22 13:45:36

C++代碼

2009-12-25 14:18:03

WPF依賴屬性

2009-12-25 17:48:43

WPF資源路徑

2009-12-28 16:28:35

WPF元素類型樣式

2009-12-24 15:36:41

WPF邏輯樹

2009-12-28 16:00:36

WPF樣式繼承

2009-12-24 17:57:53

WPF頁面跳轉(zhuǎn)

2009-12-25 17:02:33

WPF多媒體

2009-12-28 13:28:03

WPF視頻

2009-04-21 13:14:33

SilverlightWPF擴展

2009-08-31 16:49:23

WPF線程模型

2009-12-29 15:24:48

WPF對話框

2009-12-23 16:27:49

WPF UI自動化模型
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲成人蜜桃 | 色婷婷激情 | 国产高清视频在线观看 | 精品一区二区免费视频 | 久久人体视频 | 久草资源| 国产黄色网址在线观看 | 成人午夜视频在线观看 | 一区二区三区国产 | 中文字幕一区二区三区在线视频 | 一区二区三区四区免费在线观看 | 成人在线一区二区 | 二区视频| www.久久久 | 欧美一区在线看 | 久久久久久久久久久久久久av | 亚洲免费高清 | 亚洲精品视频免费观看 | 亚洲精品久久久久久久久久久久久 | 午夜视频网站 | 久久久久91| 国产精品久久久久永久免费观看 | 欧美视频免费 | 黄色大片视频 | 亚洲久久一区 | 极品一区 | 婷婷激情五月网 | 精品成人佐山爱一区二区 | 色悠悠久| 狠狠操狠狠操 | 中文字幕在线观看第一页 | 免费观看的av | 韩国av一区二区 | 国产日韩视频在线 | 日日噜噜噜夜夜爽爽狠狠视频, | 成人高清视频在线观看 | 91精品在线播放 | 久久av一区二区三区 | 成年无码av片在线 | 婷婷免费视频 | 国产精品五月天 |