2009-06-03 4 views
2

Gibt es eine einfache Möglichkeit, Header Schriftgröße zu ändern, ohne zu überschreiben ColumnHeaderTemplate vollständig duplizieren?Ändern der Schriftgröße eines GridView ColumnHeader

Hinweis: Nicht sicher, ob es relevant ist, aber ich verwende ein Anwendungsthema (PresentationFramework.Royale), das das ColumnHeaderTemplate bereitstellt.

Antwort

6

Wenn Sie nicht auch einen Stil auf die Spaltenüberschriften anwenden, können Sie diesen verwenden. Und selbst wenn Sie das tun, indem Sie die BasedOn-Eigenschaft auf den Stil setzen, können Sie alles außer dem beibehalten, was Sie ändern möchten.

<ListView> 
    <ListView.View> 
     <GridView> 
      <GridView.ColumnHeaderContainerStyle> 
       <Style> 
        <Setter Property="TextElement.FontSize" 
          Value="32" /> 
       </Style> 
      </GridView.ColumnHeaderContainerStyle> 
      <GridViewColumn Header="Stuff"/> 
      <GridViewColumn Header="More Stuff" /> 
     </GridView> 
    </ListView.View> 
</ListView> 


Edit:
Ich habe nicht den eingebauten Themen vor, so Getestet habe ich diese heraus verwendet. Das PresentationFramework.Royale-Design wendet tatsächlich keine Vorlage auf die Spaltenüberschriften an. Es wendet einen Style an, der einen Setter verwendet, um die ControlTemplate like recommended anzuwenden.

Um also das Royale-Thema in den Spaltenüberschriften zu behalten, müssen wir die BasedOn-Eigenschaft des von uns erstellten Stils verwenden. Hier ist die aktualisierte Stil deffinition, die sowohl Ihnen erlaubt, zu ändern, was Sie wollen, und behalten das Royale Thema:

<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}"> 
0

Die Gridviewcolumnheader ist ein Content-Kontrolle, so dass, wenn Sie seinen Inhalt auf einen Textblock festgelegt, in dem der Text, den Sie wollen ist die richtige Größe, das Leben sollte gut sein.