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 de 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 a Opacity criação de uma animação de fade-in decorativa específica do aplicativo em 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 está Opacity=0.5 contido em uma Tela que também Opacity=0.5está, 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 menores que 0 são tratados como 0 quando o valor é usado. Na lógica de fatoramento, a configuração de um Opacity para 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 do fatoramento aninhado-objeto ser calculado.

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" o modelo de controle original, pois você não deseja que esse retângulo apareça em um estado padrão sem foco. 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 ocorrência

Um Opacity valor de 0 não exclui um objeto do teste de clique. 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 ser desenhada abaixo. Por padrão, os filhos de um Canvas desenho em cima um do outro no mesmo sistema de coordenadas absolutas. Verifique se o valor ZIndex do Rectangle é maior que o do ZIndex outro elemento (ou declare o após o Rectangle 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 para o evento PointerPressed para o Rectangle.

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

Aplica-se a

Confira também