2016-04-29 91 views
0

我使用Mahapp.metro我創建了一個自定義標題的設置字體大小,這樣做我maded在TabControl.Resources一個統計的資源消失,請參閱:TabItem的鼠標懸停風格的自定義資源

<TabControl.Resources> 
    <Style x:Key="headerStyle" TargetType="{x:Type TextBlock}"> 
      <Setter Property="Control.FontFamily" Value="Bauhaus 93" /> 
      <Setter Property="Control.FontSize" Value="12" /> 
      <Setter Property="Control.Foreground" Value="DimGray" /> 
    </Style> 
</TabControl.Resources> 

,這是我是如何應用的資源:

<TabItem> 
    <TabItem.Header> 
     <TextBlock Text="Modalità notifiche" Style="{StaticResource headerStyle}" FontFamily="Segoe UI" FontWeight="Bold"/> 
     </TabItem.Header> 
     ... 

現在有個問題,Mahapp.metro控制風格消失了,我只有用灰色字體的標題,因此用戶無法看到如果選中的標籤被選中或沒有選擇,我該如何恢復的財產?也許Mahapp.metro提供了另一個簡單的解決方案來做到這一點,而無需創建任何靜態資源?我在文檔網站上找不到TabControl

回答

1

當您自己設置Style時,您已覆蓋由MahApps設置的隱式樣式。如果你想保持隱式類型,你可以立足現有的風格上像這樣:

<Style x:Key="headerStyle" TargetType="{x:Type TextBlock}" BasedOn="{StaticResource {x:Type TextBlock}}"> 
     <Setter Property="Control.FontFamily" Value="Bauhaus 93" /> 
     <Setter Property="Control.FontSize" Value="12" /> 
     <Setter Property="Control.Foreground" Value="DimGray" /> 
</Style> 

是,Mahaps確實提供了一個附加的屬性來更改標題的字體大小。 您可以在TabItem上使用controls:ControlsHelper.HeaderFontSize來獲得效果。

+0

非常有趣的答案,現在很清楚。我想問你一件事,如果可能的話,你可以在控件上找到這些信息?在網站的文檔上沒有TabControl。也許有另一個文件的地方? – Dillinger

+0

我沒有找到關於controlshelper的文檔,但是我從[this](http://mahapps.com/controls/textbox.html)頁面發現了它。 –