J'ai un TextBox
:
<TextBox x:Name="myTextBox"/>
Le TextBox
en code derrière a deux booléens:
myTextBox.Background.Opacity = 0;
myTextBox.BorderBrush.Opacity = 0;
Maintenant, tout cela est bon et dandy, mais comment puis-je définir ces deux propriétés en XAML?
Btw, réglage:
<TextBox x:Name="myTextBox" Background="#00FFFFFF"/>
N'affecte pas la propriété Opacity
. Je voudrais définir spécifiquement cette propriété d'opacité en XAML.
Vous voulez faire quelque chose comme ça:
<TextBlock Text="foo bar">
<TextBlock.Background>
<SolidColorBrush Color="Azure" Opacity="0.5" />
</TextBlock.Background>
</TextBlock>
L'opacité en XAML est définie comme un double et non comme un triplet de couleurs HTML.
http://msdn.Microsoft.com/en-us/library/system.windows.uielement.opacity.aspx
Vous voudrez le définir comme ceci:
<TextBlock Opacity="0" />
Vous pouvez également utiliser un pinceau pour le définir:
<SolidColorBrush Color="#FF295564" Opacity="0.3"/>
... puis définissez la propriété d'arrière-plan sur votre pinceau.
Si vous voulez juste un fond transparent en XAML, il y a un preset Transparent:
<Border Background="Transparent"/>
Je ne sais pas quand ni si cela a été changé dans le passé, mais au moins avec WPF 4.5, il est parfaitement possible d'utiliser des codes de couleur hexadécimaux à 8 chiffres:
<Element Background="#19ff0000"/> // background will be red with an alpha of 10%
Les deux premiers chiffres spécifient le canal alpha, avec 00
(0) étant totalement transparent et FF
(255) étant entièrement opaque.