TemplatePart用法说明
生活随笔
收集整理的這篇文章主要介紹了
TemplatePart用法说明
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文:TemplatePart用法說明
TemplatePart(Name="PART_Decrease", Type=typeof(RepeatButton))
一直沒明白這是干嘛用的,搜了一下,記載一下。
以Button的定義為例:
namespace System.Windows.Controls {// Summary:// Represents a button control, which reacts to the Click event.[TemplatePart(Name = "Normal State", Type = typeof(Storyboard))][TemplatePart(Name = "MouseOver State", Type = typeof(Storyboard))][TemplatePart(Name = "RootElement", Type = typeof(FrameworkElement))][TemplatePart(Name = "Pressed State", Type = typeof(Storyboard))][TemplatePart(Name = "FocusVisualElement", Type = typeof(UIElement))][TemplatePart(Name = "Disabled State", Type = typeof(Storyboard))]public class Button : ButtonBase{// Summary:// Initializes a new instance of the Button class.public Button();// Summary:// Apply a template to the Button.protected override void OnApplyTemplate();//// Summary:// Called when the IsEnabled property changes.//// Parameters:// isEnabled:// New value of the IsEnabled property.protected override void OnIsEnabledChanged(bool isEnabled);} }?[TemplatePart(Name = "Normal State", Type = typeof(Storyboard))] 這種東東是做什么用的 , 其實這是一種契約 , 是一種推薦的控件設(shè)計模式(只是推薦) , 意思是告訴要來寫ControlTemplate的用戶 , 你的ControlTemplate中需要有一個x:Name為“Normal State” , 類型為Storyboard , 當(dāng)然這個類型可以是繼承來的, 為什么一定要包含這些契約規(guī)定的元素 , 因為邏輯部分對這些東西進行了引用,它們將對控件的默認行為起著關(guān)鍵作用, 可以理解為這個控件的最基本元素 , 是實現(xiàn)默認行為的最小集合, 自然,你的ControlTemplate中如果沒有包含契約中的內(nèi)容 , 則相應(yīng)的邏輯將無法實現(xiàn)。
所以說白了,就是提示用的.....這么寫比較規(guī)范。
總結(jié)
以上是生活随笔為你收集整理的TemplatePart用法说明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj4152-[AMPPZ2014]
- 下一篇: 状态机解析请求行