2011-10-12 11 views
22

私はTextBoxを持っている:XAMLで背景の不透明度と枠線の不透明度を設定するにはどうすればよいですか?

<TextBox x:Name="myTextBox"/> 

は、コード内のTextBoxが背後にある2つのブール値を持っています

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

さて、これはすべての良いとダンディですが、どのように私は、XAMLでこれらの2つのプロパティを設定するのですか?ところで

、設定:

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

Opacityプロパティには影響しません。 XAMLでその不透明度プロパティを特に設定したいと思います。

答えて

13

XAMLの不透明度は、HTMLカラーの3倍ではなく、2倍と定義されています。

あなたはこのようにそれを設定することをお勧めします

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

<TextBlock Opacity="0" /> 

あなたはまた、それを設定するためにブラシを使用することができます。

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

...そして設定あなたのブラシに背景のプロパティ。

+1

これはcontolの不透明度で、私は」背景や境界線の不透明度を参照してください。 – foreyez

+0

@foreyez。 2番目のオプションは、プログラムで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"/> 
関連する問題