UIElement.Opacity Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 dirigirse Opacitya . Esto anima a Opacity crear una animación de atenuación decorativa específica de la aplicación durante una segunda duración.
<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á contenido 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 le proporcionará el valor 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 contenido por 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 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 de mapa de imágenes que se dibujan sobre el resto de la interfaz de usuario. Por ejemplo, puede usar un canvas que tenga dos elementos secundarios: un rectángulo que tenga 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 se sitúan entre sí en el mismo sistema de coordenadas absoluta. 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. Interfaz de usuario. Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint y VisualTreeHelper.FindElementsInHostCoordinates al evento PointerPressed de Rectangle.
Como alternativa, para excluir un objeto de las pruebas de posicionamiento, debe establecer IsHitTestVisiblefalseen , en lugar de usar Opacity.