如何在XAML中设置背景不透明度和边框不透明度



我有一个TextBox:

<TextBox x:Name="myTextBox"/>

后面代码中的TextBox有两个布尔值:

 myTextBox.Background.Opacity = 0;
 myTextBox.BorderBrush.Opacity = 0;

现在这一切都很好,但我如何在XAML中设置这两个属性呢?

顺便说一句,设置:

<TextBox x:Name="myTextBox" Background="#00FFFFFF"/>

不影响Opacity属性。我想在XAML中设置不透明度属性

您想要这样做:

<TextBlock Text="foo bar">
    <TextBlock.Background>
        <SolidColorBrush Color="Azure" Opacity="0.5" />
    </TextBlock.Background>
</TextBlock>

XAML中的不透明度定义为双精度,而不是HTML的三重色。

http://msdn.microsoft.com/en-us/library/system.windows.uielement.opacity.aspx

你可以这样设置:

<TextBlock Opacity="0" />

你也可以用笔刷来设置:

<SolidColorBrush Color="#FF295564" Opacity="0.3"/>

…然后将背景属性设置为画笔

我不知道这在过去是什么时候或是否改变的,但至少在WPF 4.5中,使用8位十六进制颜色代码是完全可以的:

<Element Background="#19ff0000"/> // background will be red with an alpha of 10%

前两位数字指定alpha通道,其中00(0)为完全透明,FF(255)为完全不透明。

如果你只是想在XAML中有一个透明的背景,有一个透明预设:

<Border Background="Transparent"/>

最新更新