溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Silverlight中的Button控件的兩大特殊屬性分別是什么

發(fā)布時間:2021-10-29 09:47:29 來源:億速云 閱讀:122 作者:柒染 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Silverlight中的Button控件的兩大特殊屬性分別是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

Control(abstract)       ContentControl             Frame                  PhoneApplicationFrame        UserControl             Page                  PhoneApplicationPage

注意ContentControl中Content屬性是一個object對象!

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

<Button>      <Button.Content>           Click this Button!       <Button.Content>   <Button>

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

xmlns:system="clr-namespace;assembly=mscorlib"   <Button>      <system:String>Click this Button</system:String>   <Button>

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

<Button>      <Image Source="***.png"                  Stretch="none"/>  </Button>

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

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

<Button>       <TextBlock>           <Run FontStyle="Italic">Click Me!</Run>       <TextBlock>   <Button>

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

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

<Button>       <Button.Content>            <RadialGradientBrush>                 <GradientStop Offset="0“ Color="Blue"/>                <GradientStop Offset="1" Color="AliceBlue"/>            </RadialGradientBrush>       </Button.Content>       <Button.ContentTemplate>            <DataTemplate>                  <Elipse Width="100"                             Height="100"                             Fill="{Binding}"/>            </DataTemplate>       </Button.ContentTemplate>   </Button>

顯示結(jié)果為:

Silverlight中的Button控件的兩大特殊屬性分別是什么

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

Silverlight中的Button控件的兩大特殊屬性分別是什么

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

Silverlight中的Button控件的兩大特殊屬性分別是什么

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

上述就是小編為大家分享的Silverlight中的Button控件的兩大特殊屬性分別是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI