我的造型超鏈接如下:WPF控件模板繼承風格從境內出現與風格「一個FooterPanel」父資源
<Style x:Key="FooterPanel" TargetType="{x:Type Border}">
<Style.Resources>
<Style TargetType="{x:Type Hyperlink}">
<Setter Property="Foreground" Value="{StaticResource FooterPanelLinkBrush}"/>
</Style>
</Style.Resources>
</Style>
我現在也已經創建了一個樣式來創建一個按鈕,超鏈接(這樣我就可以得到一個超鏈接屬性,如ISDEFAULT和IsCancel):
<Style x:Key="LinkButton" TargetType="{x:Type Button}">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center">
<Hyperlink Command="{TemplateBinding Command}" CommandParameter="{TemplateBinding CommandParameter}">
<Run Text="{TemplateBinding Content}"/>
</Hyperlink>
</TextBlock>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
內一個FooterPanel普通超鏈接收到FooterPanelLinkBrush前景,但如果我一個一個FooterPanel內使用LinkButton的,不應用該樣式。有沒有辦法讓ControlTemplate繼承FooterPanel中的樣式,而不是任何全局超鏈接樣式?
編輯:
根據這個答案https://stackoverflow.com/a/9166963/2383681有特殊處理,這意味着該Hyperlink
不會收到在FooterPanel
定義的樣式,因爲它不是從Control
的。
我不確定我想要做什麼,因此可能沒有一些代碼隱藏,所以我想我只是要解決這個問題,併爲FooterPanelLinkButton
創建一個新的樣式,並明確引用這個按鈕在頁腳面板中。知道這是否可能,但不這樣做會很有趣。
您可以使用[BasedOn](https://msdn.microsoft.com/en-us/library/system.windows.style.basedon(v = vs.110).aspx),但這會讓每個LinkButton都有footerpanel風格不只是在footerpanel內 –