为什么ContentElement不是Visual树的一部分

时间:2011-09-06 17:21:19

标签: wpf

我想知道是否有人知道为什么ContentElement不是从视觉中派生的,因此不是视觉树(它背后的逻辑)的一部分。将其添加到主机元素似乎更多的工作,然后主机元素使用方法将其添加到逻辑树的节点,以便它可以参与事件路由。它采用与绘图相同的方法,不是从视觉中衍生出来的,而是必须托管在视觉元素中。

1 个答案:

答案 0 :(得分:2)

ContentElement用于文本内容。文本的布局要求与标准控件(从Visual派生)不同。因此,ContentElement直接从DependencyObject派生而不是Visual。

ContentElement没有渲染内容,但需要托管在从Visual派生的类中才能在屏幕上呈现。

(编辑:ContentControl和ContentElement是非常不同的野兽)