UIElement.Opacity Propiedad

Definición

Obtiene o establece el grado de opacidad del objeto.

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" .../>

Valor de propiedad

Double

double

Valor entre 0 y 1,0 que declara el factor de opacidad, con 1,0 que significa opacidad completa y 0 que significa transparente. El valor predeterminado es 1,0.

Ejemplos

En este ejemplo se usa storyboard y DoubleAnimation para tener como destino Opacity. Esto anima Opacity el objeto para crear una animación de atenuación decorativa específica de la aplicación durante un segundo.

  <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>

Comentarios

Cuando Opacity se establece en objetos anidados, la opacidad efectiva para la representación es el producto de todos los factores de opacidad aplicables. Por ejemplo, si un objeto que tiene Opacity=0.5 está incluido en un canvas que también Opacity=0.5es , el valor efectivo Opacity para la representación es 0.25. Opacity los valores mayores que 1,0 se tratan como 1,0 cuando se usa el valor, aunque la obtención del valor de propiedad seguirá dando el valor de mayor que uno original. Opacity los valores establecidos como inferiores a 0 se tratan como 0 cuando se usa el valor. En la lógica de factorización, establecer un valor en Opacity 2 para cancelar los efectos de estar contenidos en un objeto con 0,5 Opacity no funciona; el valor 2 se trata como 1,0 incluso antes de que se calcule el factoring de objetos anidados.

Opacity es una propiedad que a veces se anima en guiones gráficos de estado visual, con una duración cero. Por ejemplo, el rectángulo de foco para los estados visuales "FocusStates" se establece con Opacity="0" en la plantilla de control original, ya que no desea que este rectángulo aparezca en estados no centrados predeterminados. Pero los estados visuales definen un estado "Centrado" de duración cero que establece la opacidad en 1 cuando el control que usa estas plantillas y estados ha detectado que está centrado en el teclado.

Opacidad y pruebas de posicionamiento

Un Opacity valor de 0 no excluye un objeto de las pruebas de posicionamiento. Este comportamiento puede ser útil para crear superposiciones de estilo imagemap que se dibujan sobre el resto de la interfaz de usuario. Por ejemplo, puede usar un canvas con dos elementos secundarios: un rectángulo que tiene un alto, un ancho y una opacidad de 0, y la raíz de diseño del resto de la interfaz de usuario que se debe dibujar debajo. De forma predeterminada, los elementos secundarios de un Canvas dibujo entre sí en el mismo sistema de coordenadas absoluto. Asegúrese de que el valor ZIndex de Rectangle es mayor que el del ZIndex otro elemento (o declare el Rectangle después del otro elemento en el orden del elemento XAML para obtener el mismo resultado). Conecte la lógica de pruebas de posicionamiento (combina Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint y VisualTreeHelper.FindElementsInHostCoordinates al evento PointerPressed para .Rectangle

Como alternativa, para excluir un objeto de las pruebas de posicionamiento, debe establecer IsHitTestVisiblefalseen , en lugar de usar Opacity.

Se aplica a

Consulte también