WPF的一個優勢在於,不必像其他用戶界面框架那樣要經常寫自定義控件。如果你需要自定義一個已有 控件的外觀或者調整其表面的交互式行為,WPF提供各種各樣的工具讓你可以做到這些。在前面一些章節 ,我們已經看到了一些特色,如兼容性,內容模型,樣式,模板,動畫,以及集成的圖像支持。這些可以 讓你廣闊地定義已有控件而不用編寫一個新的控件類型。
當然,自定義控件仍然占有地位。正如我們在第3章看到的,控件的角色是定義一個基本的行為。當你 盡興的定義一個按鈕外觀並為之添加動畫的時候,它仍然保持其本質——可點擊的能力。如果你需要的行 為並沒有被已有控件提供,同時不能通過將一些控件
放在一起的方式創建,這時你需要編寫一個自定義的控件了。
如果你希望自己的控件是可復用的,你可能需要它具有和那些內嵌控件提供的一樣的彈性,正如富文 本,樣式和模板所提供的支持。在這一章,我們將要看到如何利用內嵌控件同樣強大的彈性,制作自定義 控件。