首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

WPF 控件模板深度解析:從基本替換到 TemplateBinding 與 ContentPresenter

     編輯:關於.NET

控件模板核心概念

WPF 控件預設「無外觀、僅行為」。ControlTemplate 讓開發者完整接管視覺表現,同時保留點擊、焦點、內容等行為。模板內可包含 Storyboard、觸發器、任意視覺元素。

逐步建構井字遊戲按鈕

  1. 最小模板:<Rectangle />,預設透明填充不可見,設 Fill="Orange" 可見。
  2. 樣式整合:將 Template 放入 Style.Setter,所有 Button 自動套用。
  3. TemplateBinding:將模板內元素屬性綁定至被模板化控件屬性(如 Rectangle.Fill="{TemplateBinding Background}"),支援動畫、樣式覆寫即時生效。
  4. ContentPresenter:模板內的「內容佔位符」,綁定 ContentControl.Content 顯示按鈕內容(如 PlayerMove 視覺樹)。設 TargetType 可自動綁定 Content。
  5. Padding 映射:ContentPresenter 無 Padding,將控件 Padding 映射為 ContentPresenter.Margin 實現邊距。
原始按鈕圓角問題
橙色矩形模板
直角矩形按鈕
樣式套用所有按鈕
TemplateBinding 背景動畫
ContentPresenter 顯示內容
最終井字遊戲介面
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved