假设你有2个WPF按钮。一个使用TextBlock,而不是另一个。重新定义控制模板时,依赖项属性来自何处?
<Button x:Name="Button1">
<TextBlock>inside textblock</TextBlock>
</Button>
和
<Button x:Name="Button2">
no textblock
</Button>
两个按钮使用这个模板, “前景” 依赖属性设置为白色:
<ControlTemplate x:Key="ButtonTemplate" TargetType="{x:Type Button}">
<Border Name="Border" TextElement.Foreground="White">
<ContentPresenter/>
</ControlTemplate>
按钮与TextBlock的有黑色文本。另一个工作正常。为什么?
非常好,我总是看着相同的视觉树,从来没有想到,逻辑树负责继承。 – 2011-05-04 13:13:45
@ H.B。 - [InheritanceBehavior](http://msdn.microsoft.com/zh-cn/library/system.windows.frameworkelement.inheritancebehavior.aspx)属性会使事情变得更糟,因为它可以使元素上的值继承短路每个元素的基础。 – CodeNaked 2011-05-04 13:21:23