在WPF(或silverlight)什麼時候應該創建一個Control的子類,什麼時候應該創建一個Panel的子類?什麼時候應該創建一個Control的子類,何時應該創建一個Panel的子類?
他們每個人的撥款情況是什麼?
在WPF(或silverlight)什麼時候應該創建一個Control的子類,什麼時候應該創建一個Panel的子類?什麼時候應該創建一個Control的子類,何時應該創建一個Panel的子類?
他們每個人的撥款情況是什麼?
我使用自定義的控件時,我有一個剛性結構 - 這意味着我可以佈局正是我想在XAML ,即使我可能通過使多個Xaml定義看起來完全不同來控制控制。一個例子是我寫的電子表格控件。一個Xaml定義具有一定的菜單和按鈕的顏色和佈局,另一個則完全不同。我總是知道我在使用自定義控件時所佈置的內容。
我使用自定義面板,當我有一個更有活力的安排,我需要覆蓋的MeasureOverride和ArrangeOverride,而這些往往是虛擬的,也就是說,我只實例什麼是可見的。自定義面板的一個例子是我寫的一個顯示數百個圖像的例子。你可以(通過側例如,一個堆棧的頁面,2側,或平鋪,以便儘可能多地將適合)改變佈局和縮放級別。我只讀並顯示在自定義面板可視的圖像,並有一個滾動條,通過他們進行平移。
大多數標準面板,如Grid,StackPanel等都是微軟寫的自定義面板。這應該讓你知道自定義面板的用途 - 以特定模式排列未知數量的子元素。另一方面,自定義控件用於設計特定的用戶界面,通常可通過Xaml樣式進行換膚。
其中一個考慮因素是,您通常只會在需要新行爲時纔在WPF/Silverlight中創建自定義控件。如果你想改變是外觀,這通常可以使用樣式,控制模板,...
初步想法:獲得更加定製的面板或控件。 – Shanadas 2011-06-09 04:46:23
我對你最後的帖子有所解釋。 – 2011-06-09 05:12:53
@盧卡斯:謝謝,我看到了。我發佈了這一個讓問題更簡單。最後一個有點太複雜了。 – CuiPengFei 2011-06-09 14:16:13