Expandir Minimizar

UIElement.Opacity Property

Obtiene o establece el grado de opacidad del objeto.

Sintaxis


public double Opacity { get; set; }


<uiElement Opacity="double" .../>

Valor de propiedades

Tipo: System.Double [.NET] | float64 [C++]

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

Comentarios

Cuando se establece el valor de Opacity en objetos que están 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 un valor de Opacity=0.5 está contenido en un objeto Canvas que también tiene un valor de Opacity=0.5, el valor efectivo de Opacity para la representación es 0.25. Los valores de Opacity mayores que 1,0 se tratan como 1,0 cuando se utiliza el valor, aunque al obtener el valor de propiedad, recibirá el valor original mayor que uno. Los valores de Opacity que se establecen como inferiores a 0 se tratan como 0 al utilizar el valor. En la lógica de factorización, establecer Opacity en 2 para cancelar los efectos de estar contenido por un objeto con una Opacity de 0,5 no funcionará; el valor 2 se trata como 1,0 incluso antes de calcular la factorización del objeto anidado.

Opacity es una propiedad que se anima a veces en guiones gráficos de estado visual, con 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 porque no desea que este rectángulo aparezca en estados no enfocados predeterminados. Sin embargo, los estados visuales definen un estado "enfocado" de duración cero que establece la propiedad Opacity en 1 cuando el control que usa estas plantillas y estados detecta que está enfocado en el teclado. Para obtener más información sobre este uso de Opacity, vea Animaciones de guion gráfico para estados visuales.

Opacidad y pruebas de posicionamiento

Un valor de Opacity de 0 no excluye un objeto de las pruebas de posicionamiento. Este comportamiento puede ser útil para crear superposiciones de estilo de mapa de imagen que se dibujan encima del resto de la interfaz de usuario. Por ejemplo, puede utilizar un Canvas que tenga dos elementos secundarios: un Rectangle que tiene un valor de Height, Width y Opacity de 0, y la raíz de diseño del resto de la interfaz de usuario que debe dibujar debajo. De forma predeterminada, los elementos secundarios de la clase Canvas se dibujan sobre sí mismos en el mismo sistema de coordenadas absoluto. Asegúrese de que el valor de ZIndex del elemento Rectangle es superior al valor de ZIndex del otro elemento (o declare el elemento Rectangle después del otro elemento en el orden de elementos XAML para obtener el mismo resultado). Conecte la lógica de prueba de posicionamiento (combina PointerRoutedEventArgs.GetCurrentPoint y VisualTreeHelper.FindElementsInHostCoordinates) al evento PointerPressed para Rectangle.

O bien, para excluir un objeto de la prueba de posicionamiento, debe establecer IsHitTestVisible en false, en lugar de utilizar Opacity.

Ejemplos

Este ejemplo usa Storyboard y DoubleAnimation para establecer Opacity como destino. Esto anima Opacity para crear una animación decorativa de fundido de entrada 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>


Requisitos

Cliente mínimo admitido

Windows 8

Servidor mínimo admitido

Windows Server 2012

Espacio de nombres

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadatos

Windows.winmd

Vea también

UIElement
Pruebas de posicionamiento y eventos de entrada

 

 

Mostrar:
© 2014 Microsoft