2015-03-19 61 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}" /> 

我希望能够风格(即设置字体)的TextBox的一个ResourceDictionaryHeader。当我设置TextBoxFontFamily时,它也会影响标题,但我想为TextBox中的文本和Header中的文本设置两种不同的字体样式。

这是我的风格TextBox

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

我怎样才能做到这一点?

回答

5

尝试这个

 <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> 

更新

<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设置多次。 – 2015-03-19 09:29:56

+0

@ThomasClemensen请参阅更新。 – 2015-03-19 09:45:01

+0

这个伎俩!谢谢:-) – 2015-03-19 09:46:30

相关问题