在TextBox样式颜色中更改MaterialDesign

时间:2018-12-22 07:17:19

标签: c# .net wpf textbox material-design

所以我有这个MaterialDesignin TextBox

<TextBox Width="300" 
         materialDesign:HintAssist.Hint="User name"
         materialDesign:HintAssist.IsFloating="True"/>

没有重点的结果:

enter image description here

重点突出的结果:

enter image description here

我的app.xaml

<ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Red.xaml" />
                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
</ResourceDictionary.MergedDictionaries>

因此,我想将第一张图片的TextBox颜色(没有焦点)改变为其他颜色,我尝试更改Foreground property,但这不起作用。 我的意思是更改此Gray线条颜色(我想要的焦点时为红色)。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用任何想要的提示。

<TextBox>
    <materialDesign:HintAssist.Hint>
        <TextBlock Foreground="Red">User name</TextBlock>
    </materialDesign:HintAssist.Hint>
</TextBox>

如果您想对所有提示应用通用样式,最好在SmartHint控件的基础上使用一种默认样式。

<Style TargetType="materialDesign:SmartHint" BasedOn="{StaticResource {x:Type materialDesign:SmartHint}}">
    <Setter Property="Foreground" Value="Red" />
</Style>