UIElement.Opacity Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit le degré d’opacité de l’objet.
public:
property double Opacity { double get(); void set(double value); };
double Opacity();
void Opacity(double value);
public double Opacity { get; set; }
var double = uIElement.opacity;
uIElement.opacity = double;
Public Property Opacity As Double
<uiElement Opacity="double" .../>
Valeur de propriété
double
Valeur comprise entre 0 et 1,0 qui déclare le facteur d’opacité, 1,0 signifiant opacité totale et 0 signifiant transparent. La valeur par défaut est 1,0.
Exemples
Cet exemple utilise un Storyboard et DoubleAnimation pour cibler Opacity
. Cela anime pour créer une animation de fondu décoratif spécifique à l’application Opacity
sur une durée d’une seconde.
<UserControl x:Class="animation_ovw_intro.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<StackPanel>
<StackPanel.Resources>
<!-- Animates the rectangle's opacity. -->
<Storyboard x:Name="myStoryboard">
<DoubleAnimation
Storyboard.TargetName="MyAnimatedRectangle"
Storyboard.TargetProperty="Opacity"
From="1.0" To="0.0" Duration="0:0:1"
AutoReverse="True"
RepeatBehavior="Forever"/>
</Storyboard>
</StackPanel.Resources>
<TextBlock Margin="10">Click on the rectangle to start the animation.</TextBlock>
<Rectangle PointerPressed="Item_Clicked"
x:Name="MyAnimatedRectangle"
Width="100" Height="100" Fill="Blue" />
</StackPanel>
</UserControl>
Remarques
Quand Opacity
est défini sur les objets imbriqués, l’opacité effective pour le rendu est le produit de tous les facteurs d’opacité applicables. Par exemple, si un objet qui a Opacity=0.5
est contenu dans un canvas qui est également Opacity=0.5
, la valeur effective Opacity
pour le rendu est 0.25
.
Opacity
Les valeurs supérieures à 1.0 sont traitées comme 1.0 lorsque la valeur est utilisée, bien que l’obtention de la valeur de propriété vous donne toujours la valeur d’origine supérieure à 1.
Opacity
Les valeurs définies comme inférieures à 0 sont traitées comme 0 lorsque la valeur est utilisée. Dans la logique de factoring, la définition d’un Opacity
sur 2 pour annuler les effets d’un contenu par un objet avec 0,5 Opacity
ne fonctionne pas ; la valeur 2 est traitée comme 1,0 avant même le calcul de la factoring d’objets imbriqués.
Opacity
est une propriété qui est parfois animée dans des storyboards à l’état visuel, avec une durée nulle. Par exemple, le rectangle de focus pour les états visuels « FocusStates » est défini avec Opacity="0"
dans le modèle de contrôle d’origine, car vous ne souhaitez pas que ce rectangle apparaisse dans un état non prioritaire par défaut. Toutefois, les états visuels définissent un état « Prioritaire » de durée zéro qui définit Opacity sur 1 lorsque le contrôle utilisant ces modèles et états a détecté qu’il est axé sur le clavier.
Opacité et tests d’accès
La Opacity
valeur 0 n’exclut pas un objet du test d’accès. Ce comportement peut être utile pour créer des superpositions de style imagemap dessinées au-dessus du reste de l’interface utilisateur. Par exemple, vous pouvez utiliser un canevas qui a deux enfants : un rectangle qui a une hauteur, une largeur et une opacité de 0, et la racine de disposition du reste de l’interface utilisateur qui doit dessiner en dessous. Par défaut, les enfants d’un dessin les uns Canvas
sur les autres dans le même système de coordonnées absolues. Assurez-vous que la valeur ZIndex de est Rectangle
supérieure à celle de l’autre ZIndex
élément (ou déclarez après Rectangle
l’autre élément dans l’ordre de l’élément XAML pour obtenir le même résultat.) Reliez votre logique de test d’accès (combine Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint et VisualTreeHelper.FindElementsInHostCoordinates à l’événement PointerPressed pour le Rectangle
.
Sinon, pour exclure un objet du test d’accès, vous devez définir IsHitTestVisible sur false
, plutôt que d’utiliser Opacity
.