UIElement.Opacity Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il grado di opacità dell'oggetto.
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" .../>
Valore della proprietà
double
Valore compreso tra 0 e 1,0 che dichiara il fattore di opacità, con 1,0 significato di opacità completa e 0 che significa trasparente. Il valore predefinito è 1,0.
Esempio
In questo esempio viene usato uno Storyboard e DoubleAnimation per impostare come destinazione Opacity. In questo modo l'oggetto Opacity viene animato per creare un'animazione decorativa specifica dell'app in 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>
Commenti
Quando Opacity viene impostato su oggetti annidati, l'opacità effettiva per il rendering è il prodotto di tutti i fattori di opacità applicabili. Ad esempio, se un oggetto che contiene Opacity=0.5 è contenuto in un oggetto Canvas che è anche Opacity=0.5, il valore effettivo Opacity per il rendering è 0.25.
Opacity i valori maggiori di 1,0 vengono considerati come 1,0 quando viene usato il valore, anche se l'acquisizione del valore della proprietà darà comunque il valore originale maggiore di uno.
Opacity i valori impostati come minori di 0 vengono considerati come 0 quando viene usato il valore. Nella logica di factoring impostare su Opacity 2 per annullare gli effetti di essere contenuti da un oggetto con 0,5 Opacity non funziona. Il valore 2 viene considerato 1,0 anche prima che venga calcolato il factoring dell'oggetto annidato.
Opacity è una proprietà a volte animata negli storyboard dello stato di visualizzazione, con durata zero. Ad esempio, il rettangolo di stato attivo per gli stati di visualizzazione "FocusStates" è impostato con Opacity="0" nel modello di controllo originale, perché non si vuole che questo rettangolo venga visualizzato in uno stato non attivo predefinito. Tuttavia, gli stati di visualizzazione definiscono uno stato di durata zero "Con stato attivo" che imposta Opacity su 1 quando il controllo che usa questi modelli e stati ha rilevato che è incentrato sulla tastiera.
Opacità e hit testing
Il Opacity valore 0 non esclude un oggetto dal hit testing. Questo comportamento può essere utile per la creazione di sovrimpressioni in stile imagemap disegnate sopra il resto dell'interfaccia utente. Ad esempio, è possibile usare un oggetto Canvas con due elementi figlio: Un rettangolocon altezza,larghezza e opacità pari a 0 e la radice del layout del resto dell'interfaccia utente che deve disegnare sotto. Per impostazione predefinita, gli elementi figlio di un Canvas disegno sopra l'uno sull'altro nello stesso sistema di coordinate assoluto. Assicurarsi che il valore ZIndex di sia superiore a quello dell RectangleZIndex 'altro elemento (o dichiarare Rectangle dopo l'altro elemento nell'elemento XAML per ottenere lo stesso risultato). Collegare la logica di hit testing (combina Microsoft. UI. Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint e VisualTreeHelper.FindElementsInHostCoordinates all'evento PointerPressed per .Rectangle
In alternativa, per escludere un oggetto dall'hit testing, è necessario impostare IsHitTestVisible su false, anziché usare Opacity.