如何在XAML中设置背景不透明度和边框不透明度?
我有一个 TextBox
:
<TextBox x:Name="myTextBox"/>
代码后面的 TextBox
有两个布尔值:
myTextBox.Background.Opacity = 0;
myTextBox.BorderBrush.Opacity = 0;
现在这一切都很好,但是如何在 XAML 中设置这两个属性?
顺便说一句,设置:
<TextBox x:Name="myTextBox" Background="#00FFFFFF"/>
不会影响 Opacity
属性。我想在 XAML 中专门设置该不透明度属性。
I have a TextBox
:
<TextBox x:Name="myTextBox"/>
The TextBox
in code behind has two booleans:
myTextBox.Background.Opacity = 0;
myTextBox.BorderBrush.Opacity = 0;
Now this is all good and dandy, but how do I set these two properties in XAML?
Btw, setting:
<TextBox x:Name="myTextBox" Background="#00FFFFFF"/>
Does not effect the Opacity
property. I'd like to specifically set that opacity property in XAML.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你想做这样的事情:
You want to do something like this:
XAML 中的不透明度被定义为双精度颜色,而不是 HTML 颜色三元组。
http://msdn.microsoft.com/en-us /library/system.windows.uielement.opacity.aspx
您需要这样设置:
您还可以使用画笔来设置它:
...然后将背景属性设置为画笔。
Opacity in XAML is defined as a double, not an HTML color triplet.
http://msdn.microsoft.com/en-us/library/system.windows.uielement.opacity.aspx
You'll want to set it like this:
You can also use a brush to set it:
...and then set the background property to your brush.
我不知道过去何时或是否改变了这一点,但至少在 WPF 4.5 中,使用 8 位十六进制颜色代码是完全可以的:
前两位数字指定 alpha 通道,使用
00
(0) 完全透明,FF
(255) 完全不透明。I don't know when or if this was changed in the past, but at least with WPF 4.5 it's perfectly fine to use 8-digit-hex-color-codes:
The first two digits specify the alpha channel, with
00
(0) beeing fully transparent andFF
(255) beeing fully opaque.如果您只想在 XAML 中获得透明背景,可以使用透明预设:
If you just want a transparent background in XAML there is a Transparent preset: