Compartilhar via


UIElement.Opacity Propriedade

Definição

Obtém ou define o grau de opacidade do 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 da propriedade

Double

double

Um valor entre 0 e 1,0 que declara o fator opacidade, com 1,0 significando opacidade total e 0 significando transparente. O valor padrão é 1.0.

Exemplos

Este exemplo usa um Storyboard e DoubleAnimation para direcionar Opacity. Isso anima o Opacity para criar uma animação de fade-in decorativa específica do aplicativo durante uma duração de um 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>

Comentários

Quando Opacity é definido em objetos aninhados, a opacidade efetiva para renderização é o produto de todos os fatores de opacidade aplicáveis. Por exemplo, se um objeto que tem Opacity=0.5 está contido em um Canvas que também Opacity=0.5é , o valor efetivo Opacity para renderização é 0.25. Opacity valores maiores que 1,0 são tratados como 1,0 quando o valor é usado, embora a obtenção do valor da propriedade ainda lhe dê o valor original maior que um. Opacity os valores definidos como inferiores a 0 são tratados como 0 quando o valor é usado. Na lógica de fatoração, definir um Opacity como 2 para cancelar os efeitos de ser contido por um objeto com 0,5 Opacity não funciona; o valor 2 é tratado como 1,0 mesmo antes da fatoração aninhada-objeto ser calculada.

Opacity é uma propriedade que às vezes é animada em storyboards de estado visual, com duração zero. Por exemplo, o retângulo de foco para estados visuais "FocusStates" é definido com Opacity="0" no modelo de controle original, pois você não deseja que esse retângulo apareça em estados padrão não focados. Mas os estados visuais definem um estado "Focalizado" de duração zero que define Opacidade como 1 quando o controle que usa esses modelos e estados detectou que ele está focado no teclado.

Opacidade e teste de clique

Um Opacity valor 0 não exclui um objeto do teste de ocorrência. Esse comportamento pode ser útil para criar sobreposições no estilo imagemap desenhadas sobre o restante da interface do usuário. Por exemplo, você pode usar uma Tela que tem dois filhos: um Retângulo que tem uma Altura, uma Largura e uma Opacidade de 0 e a raiz de layout do restante da interface do usuário que deve desenhar por baixo. Por padrão, os filhos de um Canvas desenho um sobre o outro no mesmo sistema de coordenadas absolutas. Verifique se o valor ZIndex do Rectangle é maior que o do ZIndex outro elemento (ou declare o Rectangle após o outro elemento na ordem do elemento XAML para obter o mesmo resultado.) Conecte sua lógica de teste de ocorrência (combina Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint e VisualTreeHelper.FindElementsInHostCoordinates ao evento PointerPressed para o Rectangle.

Como alternativa, para excluir um objeto do teste de ocorrência, você deve definir IsHitTestVisible como false, em vez de usar Opacity.

Aplica-se a

Confira também