經過數十天的忙碌,今天終於有時間寫博客。 前面一章通過介紹有關模板工作方式相關的內容,同時介紹了FrameWorkElement下所有控件的模板。接下來將介紹如何構建一個簡單的自定義按鈕,並在該過程中學習有關控件模板的一些細節。 通過上一章內容,基本Button控件使用 ...
用戶控件的目標是提供增補控件模板的設計表面,提供一種定義控件的快速方法,代價是失去了將來的靈活性。如果喜歡用戶控件的功能,但需要修改使其可視化外觀,使用這種方法就有問題了。例如,設想希望使用相同的顏色拾取器,但希望使用不同的 皮膚 ,將其更好地融合到已有的應用程序窗口中。可以通過樣式來改變用戶控件的某些方面,但該控件的一些部分是在內部鎖定,並硬編碼到標記中。例如,無法將預覽矩形移動到滑動條的左邊 ...
2020-04-08 20:21 0 1035 推薦指數:
經過數十天的忙碌,今天終於有時間寫博客。 前面一章通過介紹有關模板工作方式相關的內容,同時介紹了FrameWorkElement下所有控件的模板。接下來將介紹如何構建一個簡單的自定義按鈕,並在該過程中學習有關控件模板的一些細節。 通過上一章內容,基本Button控件使用 ...
前面兩個章節分別介紹了兩個自定義控件:自定義的ColorPicker和FlipPanel控件。接下來介紹派生自定義面板以及構建自定義繪圖控件。 創建自定義面板是一種特殊但較常見的自定義控件開發子集。前面以及介紹過有關面板方面的知識,了解到面板駐留一個或多個子元素,並且實現了特定的布局邏輯 ...
創建一個簡單用戶控件是開始自定義控件的好方法。本章主要介紹創建一個基本的顏色拾取器。接下來分析如何將這個控件分解成功能更強大的基於模板的控件。 創建基本的顏色拾取器很容易。然而,創建自定義顏色拾取器仍是有價值的聯系,因為這不僅演示了構建控件的各種重要概念,而且提供了一個實用的功能 ...
在控件模板和為其提供支持的代碼之間又一個隱含約定。如果使用自定義控件模板替代控件的標准模板,就需要確保新模板能夠滿足控件的實現代碼的所有需要。 在簡單控件中,這個過程比較容易,因為對模板幾乎沒有(或完全沒有)什么真正的需求。對於復雜控件,問題就顯得有些微妙了,因為控件的外觀和實現不可能 ...
前兩章學習了WPF事件的工作原理,現在分析一下在代碼中可以處理的各類事件。盡管每個元素都提供了許多事件,但最重要的事件通常包括以下5類: 生命周期事件:在元素被初始化、加載或卸載時發生這些事件。 鼠標事件:這些事件是鼠標動作的結果。 鍵盤事件:這些事件是鍵盤動作 ...
(WPF)項目類型。在類庫中,可創建任意數量的控件。 創建自定義控件的第一步是選擇正確的基類進行 ...
WPF包含兩個日期控件:Calender和DatePicker。這兩個控件都被設計為允許用戶選擇日期。 Calendar控件顯示日期,在與Windows操作系統中看到的日歷(例如,當配置系統日期時看到的日歷)相似。該控件每次顯示一個月份,允許從一個月份跳到另一個月份(通過單擊箭頭按鈕 ...
上一章介紹的ColorPicker控件,是控件設計的最好示例。因為其行為和可視化外觀是精心分離的,所以其他設計人員可開發動態改變其外觀的新模板。 ColorPicker控件如此簡單的一個原因是不涉及狀態。換句話說,不根據是否具有焦點、鼠標是否在它上面懸停、是否禁用等狀態區分其可視化外觀 ...