原文:【WPF學習】第六十二章 構建更復雜的模板

在控件模板和為其提供支持的代碼之間又一個隱含約定。如果使用自定義控件模板替代控件的標准模板,就需要確保新模板能夠滿足控件的實現代碼的所有需要。 在簡單控件中,這個過程比較容易,因為對模板幾乎沒有 或完全沒有 什么真正的需求。對於復雜控件,問題就顯得有些微妙了,因為控件的外觀和實現不可能完全相互獨立的。對於這種情況,控件需要對其可視化顯示做出一些假設,而不管曾經被設計的多好。 在前面已經看到了控件 ...

2020-04-07 18:22 0 774 推薦指數:

查看詳情

WPF學習第六十四章 構建基本的用戶控件

  創建一個簡單用戶控件是開始自定義控件的好方法。本章主要介紹創建一個基本的顏色拾取器。接下來分析如何將這個控件分解成功能更強大的基於模板的控件。   創建基本的顏色拾取器很容易。然而,創建自定義顏色拾取器仍是有價值的聯系,因為這不僅演示了構建控件的各種重要概念,而且提供了一個實用的功能 ...

Wed Apr 08 21:16:00 CST 2020 1 807
WPF學習第六十章 創建控件模板

  經過數十天的忙碌,今天終於有時間寫博客。   前面一通過介紹有關模板工作方式相關的內容,同時介紹了FrameWorkElement下所有控件的模板。接下來將介紹如何構建一個簡單的自定義按鈕,並在該過程中學習有關控件模板的一些細節。   通過上一內容,基本Button控件使用 ...

Sat Apr 04 04:11:00 CST 2020 0 803
WPF學習第六十五章 創建無外觀控件

  用戶控件的目標是提供增補控件模板的設計表面,提供一種定義控件的快速方法,代價是失去了將來的靈活性。如果喜歡用戶控件的功能,但需要修改使其可視化外觀,使用這種方法就有問題了。例如,設想希望使用相同的顏色拾取器,但希望使用不同的“皮膚”,將其更好地融合到已有的應用程序窗口中。可以通過樣式來改變用戶 ...

Thu Apr 09 04:21:00 CST 2020 0 1035
WPF學習第六十七章 創建自定義面板

  前面兩個章節分別介紹了兩個自定義控件:自定義的ColorPicker和FlipPanel控件。接下來介紹派生自定義面板以及構建自定義繪圖控件。   創建自定義面板是一種特殊但較常見的自定義控件開發子集。前面以及介紹過有關面板方面的知識,了解到面板駐留一個或多個子元素,並且實現了特定的布局邏輯 ...

Wed Apr 22 05:37:00 CST 2020 1 943
第六十二篇、AFN3.0封裝網絡請求框架,支持緩存

1.網絡請求 第一種實現方式:   功能:GET POST 請求 緩存邏輯:   1.是否要刷新本地緩存,不需要就直接發起無緩存的網絡請求,否則直接讀取本地數據   2.需要刷新本地緩存,先 ...

Mon Oct 17 08:54:00 CST 2016 0 2157
WPF學習】第十二章 屬性驗證

  在定義任何類型的屬性時,都需要面對錯誤設置屬性的可能性。對於傳統的.NET屬性,可嘗試在屬性設置器中捕獲這類問題。但對於依賴項屬性而言,這種方法不合適,因為可能通過WPF屬性系統使用SetValue()方法直接設置屬性。   作為代替,WPF提供了兩種方法來阻止非法值 ...

Sat Jan 25 03:19:00 CST 2020 0 286
WPF學習第六十三章 理解WPF中的自定義元素

  盡管可在任意WPF項目中編寫自定義元素,但通常希望在專門的類庫程序集(DLL)中放置自定義元素。這樣,可在多個WPF應用程序之間共享自定義元素。   為確保具有正確的程序集引用和名稱空間導入,當在Visual Studio中創建應用程序時,應當選擇Custom Control Library ...

Wed Apr 08 05:17:00 CST 2020 2 478
WPF學習第六十六章 支持可視化狀態

  上一介紹的ColorPicker控件,是控件設計的最好示例。因為其行為和可視化外觀是精心分離的,所以其他設計人員可開發動態改變其外觀的新模板。   ColorPicker控件如此簡單的一個原因是不涉及狀態。換句話說,不根據是否具有焦點、鼠標是否在它上面懸停、是否禁用等狀態區分其可視化 ...

Mon Apr 13 06:16:00 CST 2020 4 905
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM