2011-10-12 190 views
22

我有一個TextBox如何在XAML中設置背景不透明度和邊框不透明度?

<TextBox x:Name="myTextBox"/> 

在代碼TextBox背後有兩個布爾:

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

現在這是所有好的和花花公子,但我怎麼在XAML中設置這兩個屬性?

順便說一句,設置:

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

不會影響Opacity財產。我想在XAML中專門設置該不透明屬性。

回答

13

XAML中的不透明度被定義爲雙精度值,而不是HTML顏色三元組。

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

你要設置這樣的:

<TextBlock Opacity="0" /> 

你也可以用刷子將其設置:

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

...然後設置背景屬性到你的畫筆。

+1

這是控逆變的不透明度,我m指的是背景的不透明度或邊框 – foreyez

+0

@foreyez。第二個選項是設置Brush的不透明度,就像通過myTextBox.Background.Opacity以編程方式一樣。 –

+0

確切地說,使用畫筆可以設置邊框不透明度或背景。 –

44

你想要做這樣的事情:

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

今天幫了我很多!如果您需要前景和背景不同的不透明度,這是解決方案。 – oopbase

2

如果你只是想在XAML透明背景有一個透明的預設:

<Border Background="Transparent"/>