Espandi Riduci a icona

UIElement.Opacity Property

Ottiene o imposta il livello di opacità dell'oggetto.

Sintassi


public double Opacity { get; set; }


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

Valore della proprietà

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

Valore compreso tra 0 e 1,0 che specifica il fattore di opacità, dove 1,0 indica un'opacità completa e 0 indica la trasparenza. Il valore predefinito è 1,0.

Note

Quando l'oggetto Opacity è impostato su oggetti annidati, l'opacità effettiva del rendering è il prodotto di tutti i fattori di opacità applicabili. Se un oggetto, ad esempio, che ha Opacity=0.5 è contenuto in un oggetto Canvas che ha anche Opacity=0.5, il valore Opacity effettivo per il rendering sarà 0.25. I valori di opacità maggiori di 1.0 sono considerati come 1.0 quando viene utilizzato il valore, anche se il recupero del valore della proprietà continuerà a fornire il valore originale maggiore di uno. I valori Opacity impostati a meno di 0 sono considerati pari a 0 quando viene utilizzato il valore. Nella logica di factoring, l'impostazione di un oggetto Opacity su 2, ad esempio, per annullare gli effetti di inclusione in un oggetto con Opacity impostato su 0,5 non è consentita. Il valore 2 viene considerato 1,0 anche prima che venga calcolato il factoring dell'elemento annidato.

Opacity è una proprietà che talvolta è animata negli storyboard dello stato di visualizzazione, con durata zero. Ad esempio, il rettangolo di attivazione per gli stati di visualizzazione "FocusStates" è impostato con Opacity="0" nel modello del controllo originale, poiché non si desidera che questo rettangolo venga visualizzato negli stati non attivati predefiniti. Tuttavia, tramite gli stati di visualizzazione viene definito uno stato "Focused" con durata zero mediante il quale la proprietà Opacity viene impostata su 1 quando tramite il controllo con questi modelli e stati viene rilevato che si tratta dello stato attivo della tastiera. Per ulteriori informazioni sull'uso di Opacity, vedere Animazioni con storyboard per gli stati di visualizzazione.

Opacità e Hit testing

Un valore di Opacity pari a 0 non esclude un oggetto dall'hit testing. Questo comportamento può essere utile per la creazione di sovrapposizioni in stile imagemap che verranno tracciate su tutto il resto dell'interfaccia utente. Ad esempio, è possibile utilizzare Canvas con due figli: Rectangle con Height, Width e Opacity di 0 e la radice del layout del resto dell'interfaccia utente che deve essere disegnata sotto. Per impostazione predefinita, gli elementi figlio di un disegno di Canvas disposti uno sopra l'altro nello stesso sistema di coordinate assoluto. Assicurarsi che il valore ZIndex dell'oggetto Rectangle sia superiore al valore ZIndex dell'altro elemento (in alternativa, dichiarare l'oggetto Rectangle dopo l'altro elemento nell'ordine degli elementi XAML). Trasmettere la logica di hit testing (PointerRoutedEventArgs.GetCurrentPoint e VisualTreeHelper.FindElementsInHostCoordinates in combinazione) all'evento PointerPressed per Rectangle.

In alternativa, per escludere un oggetto dall'hit testing, è necessario impostare IsHitTestVisible su false piuttosto che utilizzare Opacity.

Esempi

In questo esempio viene utilizzato un oggetto Storyboard e DoubleAnimation come destinazione dell'oggetto Opacity. Ciò richiede alla proprietà Opacity di creare un'animazione di dissolvenza in entrata decorativa, specifica all'applicazione, della durata di un secondo.


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


Requisiti

Client supportato minimo

Windows 8

Server supportato minimo

Windows Server 2012

Spazio dei nomi

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

Metadati

Windows.winmd

Vedere anche

UIElement
Eventi di input e hit testing

 

 

Mostra:
© 2014 Microsoft