假設你有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