5
A
回答
6
甲樣式控制的控制的各個屬性。例如,按鈕樣式可以說,「對於每個按鈕,都使用此背景。」風格正在改變控制上的單一屬性。
控件模板實際上是處理控件如何顯示其綁定數據的方式。不是說「我想覆蓋控件的屬性」,而是將其他較小的控件組合到一個控件中,該控件可以呈現綁定數據的不同視圖。
以前在WinForms中,如果您想編寫一個自定義列表框(比如每個項目旁邊都有一個圖標),則必須從ListView控件繼承並重寫繪畫方法。這涉及大量的實驗 - 巨大的痛苦。使用WPF模板,可以使用XAML一起構造更小的控件,並將它們綁定到父控件的不同屬性。您實際上是爲控件定義了可視化樹。
請參閱this查爾斯彼得堡深入解釋文章。
3
想象一下,你的控制權是一所房子。
A Style
在概念上類似於放下新地毯和畫牆。房子本身仍然是一樣的,但它的外觀是不同的。
A ControlTemplate
等同於敲開牆壁或添加溫室。房子的實際結構已經改變。
如果要更改控件E.G.的外觀,請使用Style
。它的背景顏色或邊框的粗細。當您需要更改控件的基礎結構時,請使用ControlTemplate
。當您想要更改控件的某些方面的佈局時,這非常有用。一個很好的例子是this文章,它將TabControl
重新模板化爲看起來像Microsoft Outlook中的導航器。
相關問題
- 1. 樣式和控制模板之間的區別
- 2. wpf中控制模板和數據模板之間的區別
- 3. 模板include和jquery.load之間的區別?
- 4. C++:NVI和模板方法模式之間的區別?
- 5. 模板方法(分離)和策略模式之間的區別?
- 6. 指令與模板之間的區別與沒有模板和Angular 1.2和1.1之間的區別?
- 7. 項目模板和版面模板之間的區別
- 8. 類模板和函數模板之間的區別
- 9. 編輯器模板和顯示模板之間的區別
- 10. .cpt模板和.pt模板之間有什麼區別?
- 11. 像這樣的模糊之間的區別和更像這樣?
- 12. Vistor模式和狀態模式之間的區別?
- 13. 網絡模式和非網絡模式之間的區別
- 14. 火花獨立模式和本地模式之間的區別?
- 15. 代理模式和適配器模式之間的區別?
- 16. 本機模式和集成模式之間的區別
- 17. 怪癖模式和標準模式之間的區別JavaScript
- 18. 構造器模式和原型模式之間的區別
- 19. 用戶控件和自定義控件庫之間的區別
- 20. Skript和控制檯之間的區別
- 21. for-each和xsl中的模板之間的區別?
- 22. Grails中的視圖和模板之間的區別
- 23. django模板標記中的formset和formset.forms之間的區別
- 24. 什麼是產量和包含的模板之間的區別
- 25. C++模板的Class和Typename之間的區別
- 26. lxml中的屬性和樣式標籤之間的區別
- 27. jsf頁面中的樣式和styleClass之間的區別
- 28. Meteor.js中的模板助手和模板變量之間的區別
- 29. 擴展和模塊之間的區別?
- 30. MVVM - 模型和ViewModel之間的區別
您好,非常感謝您對本文的詳細解釋和鏈接。我會盡快看看它。 – 2010-02-26 18:10:17