2015-03-19 5 views
1

Я использую TextBox так:Как стиль заголовка TextBox?

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

Я хотел бы быть в состоянии стиля (т.е. настройки шрифта) Header из TextBox в ResourceDictionary. Когда я устанавливаю FontFamilyTextBox, это также влияет на заголовок, но я хотел бы установить два разных стиля шрифта для текста внутри TextBox и текста в Header.

Это мой стиль для TextBox:

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

Как я могу это сделать?

ответ

5

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" /> 
+0

Но как я могу это сделать в стиле моего TextBox? Я не хочу устанавливать его несколько раз для каждого TextBox, который у меня есть. –

+0

@ThomasClemensen, пожалуйста, ознакомьтесь с обновлением. –

+0

Это сделало трюк! Спасибо :-) –