TemplatePart用法說明

原文: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))] 這種東東是做什么用的 , 其實這是一種契約 , 是一種推薦的控件設計模式(只是推薦) , 意思是告訴要來寫ControlTemplate的用戶 , 你的ControlTemplate中需要有一個x:Name為“Normal State” , 類型為Storyboard , 當然這個類型可以是繼承來的, 為什么一定要包含這些契約規定的元素 , 因為邏輯部分對這些東西進行了引用,它們將對控件的默認行為起著關鍵作用, 可以理解為這個控件的最基本元素 , 是實現默認行為的最小集合, 自然,你的ControlTemplate中如果沒有包含契約中的內容 , 則相應的邏輯將無法實現。

所以說白了,就是提示用的.....這么寫比較規范。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537957.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537957.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537957.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx配置多個站點共用80端口

原文鏈接:https://blog.csdn.net/zhezhebie/article/details/73459874 --------------------------------------------- 配置文件下載地址:https://download.csdn.net/download/zengmingen/10462400共用80端口的,要server_name不同。如果用域…

兩點間最短路 java_AcWing 850. Dijkstra求最短路 II_Java實現含詳細注釋

import java.io.*;import java.util.Arrays;import java.util.Comparator;import java.util.PriorityQueue;public class Main {static final int N 150010;static int n, m; //結點數,邊數static int[] h, e, ne, w; //鄰接表適合表示稀疏圖,w用來存每個邊權重sta…

SQL Server如何鏈接到 Oracle并查詢其中的數據?并實現做接口

今天用Oracle的驅動教大家如何從SQL Server鏈接到Oracle. 1. 服務器上需要安裝Oracle 64位的客戶端或者服務端,安裝過程就省略了。不會的同學可以網上搜索一下安裝方法,很詳細,這里不贅述。 安裝完成后SQL Server的訪問接口上會新增”OraOLE…

Tomcat 內存調大

第一種方法:Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下設置:JAVA_OPTS-Xms【初始化內存大小】 -Xmx【可以使用的最大內存】需要把這個兩個參數值調大。例如&#xf…

java spring bean配置文件_Spring基于xml文件配置Bean過程詳解

這篇文章主要介紹了spring基于xml文件配置Bean過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下通過全類名來配置:class:bean的全類名,通過反射的方式在IOC容器中創建B…

win10升級后chrome碰到對話框就卡死

低版本的 chrome 會出現這樣的問題 解決方法: 設置-------高級設置-----取消硬件加速

客戶端SDK測試思路

本文來自網易云社區作者:萬春艷是什么客戶端SDK是為第三方開發者提供的軟件開發工具包,包括SDK接口、開發文檔和Demo示例等。SDK和應用之間是什么關系呢?以云信即時消息服務為例,如下圖所示,應用客戶端通過調用云信SDK…

nginx could not build the server_names_hash 解決方法

原文地址:http://www.jb51.net/article/26412.htm ------------------------------------------------------- nginx “nginx could not build the server_names_hash”解決方法 給一個服務器下增加了一些站點別名,差不多有20多個。 重啟nginx時候&#…

java 使用fusioncharts_fusioncharts同一頁面顯示2個儀表盤,且以java字符串作為xml數據...

fusioncharts同一頁面顯示2個儀表盤,且以java字符串作為xml數據String path request.getContextPath();%>String xml "";%>FusionCharts - Multiple Charts on one Pagevar contextpath "";var xml ;body {font-family: Arial, Helve…

排名前16的Java工具類

原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具類定義了一組公共方法,這篇文章將介紹Java中使用最頻繁及最通用的Java工具類。以下工具類、方法按使用流行度排名,參考數據來源于Github上隨機選取的5萬個開源項目源碼…

VS2012(Visual Studio 2012)官方免費中文旗艦版下載(含激活密鑰)

原文路徑:http://www.nocang.com/visual-studio-ultimate-2012/ vs2012旗艦版安裝激活教程 1、下載到的是ISO格式文件,直接解壓縮或用虛擬光驅加載運行;2、無所不藏推薦直接解壓縮安裝即可,雙擊“vs_ultimate.exe”進行安裝&#…

magic square java_測試Magic Square Java的.txt文件

我不想問,但我無法弄清楚這個任務,當我尋求幫助時,助教也不會。我必須從文本文件中獲取輸入,將文件中的整數輸入到數組列表中,然后測試它是否是anxn幻方。n等于數組列表長度的平方根。如果不是理想的正方形&#xff0c…

字符串拼串 能緩解我們的開發難度→!←(ε=(′ο`*)))唉,又是一個不知道該怎么寫題目的隨筆啊,頭疼)...

簡單描述:今天看我同事提交的代碼,發現一個東西,讓我有了一點小想法,是這樣的,他利用一個‘’無關緊要‘’的標簽屬性,(哈哈哈,也不能說人家是無關緊要的屬性了,暫時是無關緊要的屬性…

SQL中使用DISTINCT顯示多個字段的方法(不使用DISTINCT了)

原文連接: https://www.cnblogs.com/alanliu/archive/2008/02/25/1080626.html --------------------------------- 效果是DISTINCT CUS_NO,并且同時顯示CUS_NAME.SELECTCUS_NO,MIN(CUS_NAME) ASCUS1 FROMdbo.CUS GROUPBYCUS_NO

java 注釋快捷打出時間_Java快捷---自動注釋時間作者。。。

在使用Eclipse 編寫Java代碼時,自動生成的注釋信息都是按照預先設置好的格式生成的。修改作者、日期注釋格式:打開Windows->Preferences->Java->Code Style->Code Templates,點擊右邊窗口中的Comments,可以看到有很多…

016 pickle

英文也是泡菜的意思。 學完了,還是感覺這個模塊是蠻不錯的,對多數據保存到文件中,然后在使用的時候,再讀取出來,讓程序閑的更加優雅,簡潔。 一:介紹 1.為什么使用 在開篇已經介紹了,…

centos7與centos6區別

原文連接:https://www.cnblogs.com/bethal/p/5945026.html ---------------------------------------------------------------- CentOS 7 vs CentOS 6的不同 (1)桌面系統[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系統[…

用java編寫日歷添加窗口一角_Java 實訓4 編寫一個窗體程序顯示日歷

實訓要求:1.使用BorderLayout 進行總體布局2.在North 位置放置包含兩個按鈕( 上月和下月)的Panel3.在South 位置放置一個Label 用于顯示當前年份和月份4.在Center 位置放置一個顯示日歷的Panel5.顯示日歷的Panel 設置7 行7 列的GridLayout 布局,其中第1行…

ER圖轉換成關系模式集的規則

轉自己博客園文章 A與B1:1 在A表里把B表的主鍵和關系的屬性加入到A表中 或B表里把A表的主鍵和關系的屬性加入到B表中 舉例 男人表身份證號姓名年齡女人身份證號登記日期女人表身份證號姓名年齡 A與B1:N 在A表中加入B表的主鍵與關系的屬性 小米公司納稅號公司全稱…

Grafana文檔(在Centos / Redhat上安裝)

在基于RPM的Linux上安裝(CentOS,Fedora,OpenSuse,RedHat) 描述下載CentOS / Fedora / OpenSuse / Redhat Linux穩定版本x86-64CentOS / Fedora / OpenSuse / Redhat Linux穩定版本ARM64CentOS / Fedora / OpenSuse / R…