在C#UWP中更改文本框标题颜色

时间:2018-10-22 14:29:04

标签: c# uwp

我想更改UWP中文本框标题的颜色。 我的文本框:

<TextBox x:Name="tbFullName" Header="Full Name" Margin="30,24,0,0" MaxLength="320" Width="400" HorizontalAlignment="Left" InputScope="PersonalFullName" VerticalAlignment="Stretch"/>

我当前(无效)的代码来更改颜色:

tbFullName.Header = new SolidColorBrush(Windows.UI.Colors.White);

我希望有人能够提供帮助。 注意:我对UWP还是很陌生,对编程也很陌生,如果给我的答案不是很难理解,我将不胜感激。 预先感谢!

1 个答案:

答案 0 :(得分:0)

根据您的要求,您可以像下面这样自定义TextBox的HeaderTemplate

<TextBox HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" FontSize="12" Header="Name" >
    <TextBox.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" Foreground="Red" />
        </DataTemplate>
</TextBox.HeaderTemplate>

并修改DataTemplate中包含的TextBlock的前景。

更新 HeaderContentPresenter的前台主题资源为TextControlHeaderForeground,您也可以在应用程序资源中覆盖它,如下所示

 <Application.Resources>
    <SolidColorBrush x:Key="TextControlHeaderForeground" Color="Red" />
</Application.Resources>

用法

<TextBox Text="Cotent" Height="100" Header="Name"/>

enter image description here