文本框与半透明背景

时间:2013-02-20 16:28:39

标签: wpf xaml

需要文本框的半透明背景,文本内容应该正常显示。

可以存储在资源字典中的

样式画笔是好的。

注:

  1. 我的textBox包含在ContentControl中。

  2. 这个类似的问题没有帮助。 TextBox with a Transparent Background

2 个答案:

答案 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));