日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入詳解WPFControlTemplate

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

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,蘭山企業(yè)網(wǎng)站建設,蘭山品牌網(wǎng)站建設,網(wǎng)站定制,蘭山網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,蘭山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

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

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

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

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

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

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

2,Triggers,觸發(fā)器列表,里面包含一些觸發(fā)器Trigger,我們可以定制這個觸發(fā)器列表來使控件對外界的刺激發(fā)生反應,比如鼠標經(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 將控件的屬性與新外觀中的元素的屬性關聯(lián)起來Width="{TemplateBinding Button.Width}" ,這樣我們就使得橢圓的寬度與按鈕的寬度綁定在一起而保持一致,同理我們使用Text="{TemplateBinding Button.Content}"將TextBlock的文本與按鈕的Content屬性綁定在一起。


名稱欄目:深入詳解WPFControlTemplate
當前URL:http://www.5511xx.com/article/dhcjgpo.html