日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

WPF ControlTemplate TemplateBinding

發布時間:2024/10/12 asp.net 95 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF ControlTemplate TemplateBinding 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

WPF ControlTemplate TemplateBinding
        — 控件模板中元素屬性綁定

  (標題起這個名字感覺不太合適,由于水平有限就暫且這樣明白吧,希望前輩看到好能指正,再次先謝過了! )
控件(Control)都有自己的默認呈現形式(Template),有時候出于項目的需要,我們可能需要為控件重新定義顯示模板(Template),使控件看起來更加美觀,界面更加華麗。
新模板的格式需要寫在Style段落中語法格式形如:

  <Style x:Name="mystyle" TargetType="Button">
<Setter Property="OverridesDefaultStyle" Value="True"></Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Ellipse Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"
Fill="{TemplateBinding Background}">
</Ellipse>
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Button Margin="122.5,119.5,80,70" Name="button1" Background="Green" Click="button1_Click" Foreground="Red">Button</Button>

代碼中 :

TemplateBinding 用于將模板元素屬性綁定到使用該模板的控件屬性。此綁定是單行綁定(one way).

舉例: Fill="{TemplateBinding Background}" 使用該模板的控件的FILL屬性設置為紅色,則模板中的橢圓形背景色變為紅色。
該示例代碼中的應用該模板的控件寬(Width)、高(Height)屬性直接影響到模板中橢圓形控件的形狀(圓形OR橢圓).

  由于我們用ControlTemplate重寫了Button的樣式,所以我們也要在ControlTemplate中增加ControlPresenter。

通過ControlPresenter中的Content來綁定父容器的Content屬性(ControlPresenter有個隱式的Content="{TemplateBinding Content}",也就是你可以寫也可以不寫它)。

(代碼圓形效果如下:)

參考文章:http://msdn.microsoft.com/zh-cn/library/system.windows.controls.contentpresenter.aspx

http://hi.baidu.com/oemsea/blog/item/242b58586b120ac09c8204c4.html

?

轉載于:https://www.cnblogs.com/JasonJI/archive/2012/03/29/2423543.html

總結

以上是生活随笔為你收集整理的WPF ControlTemplate TemplateBinding的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。