如何在WPF中自定義控件:選擇繼承的基類


在WPF中需要自定義控件,首要要選擇需要繼承的基類

FrameworkElement

這是常用的最低級的基類。通常,只有當希望重寫OnRender()方法並使用DrawingContext從頭繪制內容時,才會繼承該類。

 

Control

當從頭開始創建控件時,這是最常用的起點。該類是所有用戶交互小組件的基類。Control類添加了用於設置背景、前景、字體和內容對齊方式的屬性。控件類還為自身設置了Tab順序(通過IsTabStop屬性),並且引入 了鼠標雙擊功能(MouseDoubleClick和PreviewMouseDoubleClick)。但最重要的是,Control類定義了Template屬性。

 

ContentControl

這是能夠顯示任意單一內容的控件的基類。顯示的內容可以是元素或結合使用模版的自定義對象(內容通過Content屬性設置,並且可以通過ContentTemplate屬性提供可靠的模板)

 

UserControl

這是可使用設計視圖進行配置的內容控件。盡管用戶控件和普通的控件是不同的,但當希望在多個窗口中快速重用用戶界面中的不變模塊時(而不是創建真正的能在不同應用程序之間轉移的獨立控件),通過就使用該基類

 

ItemsControlSelector

ItemsControl是封裝列表控件的基類,但不支持選擇,而Selector類是支持選擇的控件的更具體類。創建自定義控件時不經常使用這些類,可以使用ListBox,ListView,TreeView等控件的DataTemplate來實現

 

Panel

該類是具有邏輯控件的基類。布局控件能夠包含多個子元素,並根據特定的布局語義安排這些子元素。通常,面板提供了用於設置子元素的附加屬性,配置如何安排子元素

 

Decorator

提供在單個子元素(如 Border 或 Viewbox)上或周圍應用效果的元素的基類。

                                                       元素和控件基類繼承關系圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM