Wpf 半透明背景的文本框

Wpf 半透明背景的文本框,wpf,xaml,Wpf,Xaml,文本框需要半透明背景,文本内容应正常显示 样式或画笔可以存储在资源字典中是好的 注: 我的文本框包装在ContentControl中 这个类似的问题没有帮助 在XAML中,您可以将Background属性设置为Transparent: <TextBox Background="Transparent" /> 如果要将背景设置为“对所有人透明”TextBox,可以使用以下样式: <Style TargetType="TextBox"> <Setter Pro

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

样式画笔可以存储在资源字典中是好的

注:

  • 我的文本框包装在ContentControl中

  • 这个类似的问题没有帮助


  • 在XAML中,您可以将
    Background
    属性设置为
    Transparent

    <TextBox Background="Transparent" />
    
    如果要将背景设置为“对所有人透明”
    TextBox
    ,可以使用以下样式:

    <Style TargetType="TextBox">
        <Setter Property="Background" Value="Transparent" />
    </Style>
    

    如果要在代码隐藏中设置半透明背景,可以这样做

    对从TextBox继承的类使用依赖项道具

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

    你可以将
    Background
    属性设置为
    Transparent
    @kmatyaszek你能告诉我如何在C#code中实现吗?我给了你答案。选中它:)它适用于单个文本框,但由于某些原因,它不适用于包装在ContentControl中的我的文本框。无论如何,谢谢。@dongx如果你给我看更多的代码,我会尝试找出它不起作用的原因。我尝试将
    TextBox
    包装在
    ContentControl
    中,它在我的代码中工作。你知道如何将背景设置为半透明吗?最后,它工作了。原因是文本框的样式被过度编写。
    myTextBox.BgColour = new SolidColorBrush(Color.FromArgb(120,240, 17, 17));