我在XAML文件中有一个TextBox,我想更改背景颜色,因为当框不在焦点时,默认颜色为灰色。 更改背景属性似乎不起作用,我不明白如何在模板中更改它。
这就是它现在的样子
这就是我想要的样子
答案 0 :(得分:3)
您必须使用 TextBox的样式(attached here)。您会找到 BackgroundElement ,您可以更改其背景和不透明度,例如:
<Border x:Name="BackgroundElement" Background="{TemplateBinding Foreground}" Grid.ColumnSpan="2" Margin="{TemplateBinding BorderThickness}" Opacity="1" Grid.Row="1" Grid.RowSpan="1"/>
当控件处于未聚焦状态时,这应该为您提供前景色,但是当它变得不可见时,您还必须更改占位符的颜色。尝试使用 VisualStates 来播放适当的状态,包括聚焦/未聚焦(正常)以外的其他状态。
答案 1 :(得分:1)
您需要编辑控件模板。最方便的方法是在混合中打开项目。每个控件都有其默认模板,其中包含常用交互的可视状态,如按下,拖动等。 请看这篇文章https://msdn.microsoft.com/en-us/library/jj170032.aspx 我认为这对你有帮助。