我刚读了Thomas Claudius Huber关于WPF的书。他说,所有WPF控件都是"无外观"的。它们只是从它们的
我已经谷歌搜索并发现,
这是底线吗?所有其他没有ControlTemplate的元素是否在
ControlTemplate
获取它们的外观(和可视树)。这引出了一个问题:WPF的外观来自哪里?
我的意思是:Button
有一个带有一些Border
和ContentPresenter
的ControlTemplate
。这两个(Border
和ContentPresenter
)的外观来自哪里?我已经谷歌搜索并发现,
Border
是一个Decorator
,并在OnRender
方法中设置其外观。这是底线吗?所有其他没有ControlTemplate的元素是否在
OnRender
方法中定义其外观?
OnRender
是所有 UIElement 的唯一方式,包括 Controls、Shapes、Decorators、Panels、TextBlock 等等。 - almulo