需要文本框的半透明背景,文本内容应该正常显示。
可以存储在资源字典中的样式或画笔是好的。
注:
我的textBox包含在ContentControl中。
这个类似的问题没有帮助。 TextBox with a Transparent Background
答案 0 :(得分:15)
在XAML中,您可以将Background
属性设置为Transparent
:
<TextBox Background="Transparent" />
在代码隐藏中,您可以使用以下代码:
TextBox tb = new TextBox
{
Width = 100,
Background = Brushes.Transparent
};
如果要将背景设置为对所有TextBox
透明,可以使用以下样式:
<Style TargetType="TextBox">
<Setter Property="Background" Value="Transparent" />
</Style>
答案 1 :(得分:1)
如果要在代码隐藏中设置半透明背景,可以执行此操作
对从TextBox继承的类使用依赖项prop
public static readonly DependencyProperty BgColourProperty =
DependencyProperty.Register("BgColour", typeof(SolidColorBrush), typeof(myTextBox), null);
public SolidColorBrush BgColour
{
get { return (SolidColorBrush)GetValue(BgColourProperty); }
set { SetValue(BgColourProperty, value); }
}
然后使用Color.FromArgb()设置您想要的任何颜色,其中第一个参数是Alpha组件
myTextBox.BgColour = new SolidColorBrush(Color.FromArgb(120,240, 17, 17));