2011-10-12 40 views
22

Tengo un TextBox:¿Cómo establecer la opacidad del fondo y la opacidad del borde en XAML?

<TextBox x:Name="myTextBox"/> 

El TextBox en código detrás tiene dos booleanos:

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

Ahora bien, esto es todo bien y dandy, pero ¿Cómo se configura estas dos propiedades en XAML?

Por cierto, el establecimiento de:

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

no Cómo afecta la propiedad Opacity. Me gustaría establecer específicamente esa propiedad de opacidad en XAML.

Respuesta

13

La opacidad en XAML se define como una tripleta de color doble, no de color HTML.

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

Usted querrá ponerlo de esta manera:

<TextBlock Opacity="0" /> 

También puede utilizar un cepillo para configurarlo:

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

... y luego ponga el propiedad de fondo de su pincel.

+1

esta es la opacidad del contol, I' m refiriendo la opacidad del fondo o el borde – foreyez

+0

@foreyez. La segunda opción es establecer la opacidad para Brush tal como está programáticamente a través de myTextBox.Background.Opacity. –

+0

Exactamente, usar un pincel le permite establecer la opacidad del borde o el fondo. –

44

que quiere hacer algo como esto:

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

¡Esto me ayudó mucho hoy! Esta es la solución si necesita una opacidad diferente para el primer plano y el fondo. – oopbase

2

Si lo que desea es un fondo transparente en XAML existe un preset transparente:

<Border Background="Transparent"/> 
Cuestiones relacionadas