ThomasCle
ThomasCle

Reputation: 6801

How to style TextBox Header?

I am using a TextBox like this:

<TextBox x:Name="TxtName" IsEnabled="False" Header="Textbox header" IsReadOnly="True" TextWrapping="Wrap"  Text="{Binding Name,Mode=TwoWay}" Style="{StaticResource MyTextBoxStyle}" />

I would like to be able to style (i.e. setting the font) the Header of the TextBox in a ResourceDictionary. When I set the FontFamily of the TextBox it also affect the header, but I would like to set two different font styles for the text inside the TextBox and the text in the Header.

This is my style for the TextBox:

<Style x:Key="MyTextBoxStyle" TargetType="TextBox">
    <Setter Property="BorderThickness" Value="0" />
    <Setter Property="FontFamily" Value="Comic Sans MS" />
</Style>

How can I do this?

Upvotes: 3

Views: 7637

Answers (1)

Heena
Heena

Reputation: 8654

Try This

     <TextBox Height="70" Width="200" Text="Text" Foreground="Green" FontFamily="Tahoma">
        <TextBox.Header>
            <TextBlock  Text="Header" Foreground="red" FontFamily="Times New Roman"></TextBlock>
        </TextBox.Header>
    </TextBox>

Update

<Page.Resources>
    <Style TargetType="TextBox">
        <Setter Property="Height" Value="70"></Setter>
        <Setter Property="Width" Value="200"></Setter>
        <Setter Property="Text" Value="Text"></Setter>
        <Setter Property="FontFamily" Value="Tahoma"></Setter>
        <Setter Property="Foreground" Value="Green"></Setter>
        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <TextBlock Foreground="Red"  Text="{Binding}" FontFamily="Times New Roman"></TextBlock>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Page.Resources>

 <TextBox Header="Header" />

Upvotes: 7

Related Questions