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é, avec 1,0 signification d’opacité totale et 0 signification transparente. La valeur par défaut est 1,0.
Exemples
Cet exemple utilise un Storyboard et DoubleAnimation pour cibler Opacity. Cela anime la Opacity création d’une animation de fondu décoratif spécifique à l’application sur une seconde durée.
<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
Lorsqu’il Opacity est défini sur des 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 est Opacity=0.5 contenu dans un canevas qui est également Opacity=0.5, la valeur effective Opacity du 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 supérieure à une d’origine.
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’une Opacity valeur 2 pour annuler les effets d’être contenus par un objet avec 0,5 Opacity ne fonctionne pas ; la valeur 2 est traitée comme 1,0 même avant que le factoring imbriqué soit calculé.
Opacity est une propriété qui est parfois animée dans des storyboards d’état visuel, avec une durée nulle. Par exemple, le rectangle de focus pour les états visuels « FocusStates » est défini avec Opacity="0" le modèle de contrôle d’origine, car vous ne souhaitez pas que ce rectangle apparaisse dans des états non prioritaires 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 test de positionnement
La Opacity valeur 0 n’exclut pas un objet du test de positionnement. Ce comportement peut être utile pour créer des superpositions de style imagemap qui sont dessinées sur le 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 Canvas dessin au-dessus des uns des autres dans le même système de coordonnées absolu. Assurez-vous que la valeur ZIndex de lRectangle'élément est supérieure à celle de ZIndex l'autre élément (ou déclarez lRectangle'après l'autre élément dans l'élément XAML afin d'obtenir le même résultat.) Filez votre logique de test de positionnement (combine Microsoft. Interface utilisateur. Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint et VisualTreeHelper.FindElementsInHostCoordinates à l’événement PointerPressed pour le Rectangle.
Sinon, pour exclure un objet du test de positionnement, vous devez définir IsHitTestVisible sur false, plutôt que d’utiliser Opacity.