自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Silverlight中的Button控件的兩大特殊屬性

開發(fā) 前端 后端
在Silverlight中Button從ContentControl派生而來(lái),間接從Control派生而來(lái),因?yàn)閷傩岳^承的原 因,Button控件具有ContentControl控件的Content屬性,其中Content屬性是object對(duì)象,所以我們可以通過以下代碼 對(duì)Button控件內(nèi)容進(jìn)行定義。

開始介紹Content屬性之前,請(qǐng)大家記住以下繼承樹:

  1. Control(abstract)  
  2.      ContentControl  
  3.            Frame  
  4.                 PhoneApplicationFrame  
  5.       UserControl  
  6.            Page  
  7.                 PhoneApplicationPage 

注意ContentControl中Content屬性是一個(gè)object對(duì)象!

在Silverlight中Button從ContentControl派生而來(lái),間接從Control派生而來(lái),因?yàn)閷傩岳^承的原 因,Button控件具有ContentControl控件的Content屬性,其中Content屬性是object對(duì)象,所以我們可以通過以下代碼 對(duì)Button控件內(nèi)容進(jìn)行定義:

  1. <Button> 
  2.      <Button.Content> 
  3.           Click this Button!  
  4.      <Button.Content> 
  5.   <Button> 

從表面上上述代碼沒錯(cuò),但是在silverlight中不允許這樣,另外凡是從ContentControl控件派生而來(lái)的控件,其Content屬性元素標(biāo)記可忽略,所以更改后的代碼如下:

  1. xmlns:system="clr-namespace;assembly=mscorlib" 
  2.   <Button> 
  3.      <system:String>Click this Button</system:String> 
  4.   <Button> 

如果你不喜歡Button控件只顯示普遍的文本內(nèi)容,你也可以設(shè)置其Content屬性內(nèi)容為其它元素,但是該元素必須為FrameworkElement派生對(duì)象。例如設(shè)置Button控件的Content屬性內(nèi)容為一張圖片:

  1. <Button> 
  2.      <Image Source="***.png" 
  3.                  Stretch="none"/> 
  4.  </Button> 

由于Button控件是ContentControl派生元素,故Button.Content屬性元素語(yǔ)法形式可省略......

另外也可以設(shè)置Buton控件內(nèi)的文本特殊的格式,例如以下代碼設(shè)置了斜體的文本內(nèi)容:

  1. <Button> 
  2.       <TextBlock> 
  3.           <Run FontStyle="Italic">Click Me!</Run> 
  4.       <TextBlock> 
  5.   <Button> 

如 果想設(shè)置Button控件的Content屬性內(nèi)容為含漸變畫刷的橢圓,我們就要用到ContentTemplate屬性了;因?yàn)槿缟衔乃?,如果想設(shè)置 Button控件的Content屬性內(nèi)容為非文本內(nèi)容,就要設(shè)置其Content屬性內(nèi)容為FrameworkElement類派生元素,而這里為含漸 變畫刷的橢圓,而漸變畫刷不是FrameworkElement派生元素,所以就要控制Button控件的ContentTemplate內(nèi)容模板 了.....

相關(guān)XAML代碼為:

  1. <Button> 
  2.       <Button.Content> 
  3.            <RadialGradientBrush> 
  4.                 <GradientStop Offset="0“ Color="Blue"/> 
  5.                <GradientStop Offset="1" Color="AliceBlue"/> 
  6.            </RadialGradientBrush> 
  7.       </Button.Content> 
  8.       <Button.ContentTemplate> 
  9.            <DataTemplate> 
  10.                  <Elipse Width="100" 
  11.                             Height="100" 
  12.                             Fill="{Binding}"/> 
  13.            </DataTemplate> 
  14.       </Button.ContentTemplate> 
  15.   </Button> 

顯示結(jié)果為:

上 述XAML代碼中有一個(gè)特殊的Binding語(yǔ)法標(biāo)記,既沒有設(shè)置Source,也沒有設(shè)置ElementName或Path屬性,只有 “{Binding}“,這表示綁定內(nèi)容為上述漸變畫刷;上述代碼實(shí)際上還改變了該Button控件的一部分視覺樹,其標(biāo)準(zhǔn)Button控件的視覺樹為一 下形式:

而這里經(jīng)過我們對(duì)ContentTemplate進(jìn)行設(shè)置,該控件視覺樹已經(jīng)變成以下形式:

Button控件的ContentTemplate屬性值為DataTemplate類型,對(duì)DataTemplate進(jìn)行設(shè)置可以改變控件的一部分視覺樹!

原文:http://www.cnblogs.com/YueHeiZS/archive/2011/12/27/2304126.html

【編輯推薦】

  1. Silverlight版C1OutlookBar初體驗(yàn)
  2. Silverlight***動(dòng)態(tài)和未來(lái)前景
  3. Silverlight企業(yè)應(yīng)用開發(fā)實(shí)踐之AgileEAS.NET
  4. Silverlight 5,你的名字是“Windows”
  5. Silverlight開發(fā)之偷拿別人HTML控件
責(zé)任編輯:陳貽新 來(lái)源: One Piece,我來(lái)了
相關(guān)推薦

2009-07-14 17:50:00

Jython特殊屬性

2010-04-01 09:34:06

Oracle函數(shù)

2010-09-10 09:42:37

borderclearCSS

2010-05-04 14:30:45

Oracle數(shù)據(jù)

2011-08-10 08:55:28

項(xiàng)目失敗

2009-07-20 09:27:42

IBATIS.netDAO

2010-08-16 10:18:53

DivCSS

2010-09-16 09:33:33

CSS displayCSS display

2022-03-01 18:23:17

架構(gòu)大數(shù)據(jù)系統(tǒng)

2013-09-09 11:14:30

2022-02-24 08:00:00

API混合云數(shù)據(jù)

2011-11-02 09:35:34

虛擬化虛擬化管理

2011-08-11 09:41:38

2009-08-14 15:07:00

C#編譯過程

2009-12-30 13:59:58

Silverlight

2010-08-05 09:05:14

Flex Button

2025-02-28 08:16:14

Spring框架注解

2016-01-13 14:54:50

京東京東大腦

2010-07-21 10:25:50

Perl

2015-07-09 09:34:24

點(diǎn)贊
收藏

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