UIElement.Opacity Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen des Grads der Deckkraft des Objekts.
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" .../>
Eigenschaftswert
double
Ein Wert zwischen 0 und 1,0, der den Deckkraftfaktor deklariert, wobei 1,0 die volle Deckkraft und 0 eine transparente Bedeutung haben. Der Standardwert ist 1,0.
Beispiele
In diesem Beispiel wird ein Storyboard und DoubleAnimation zum Ziel Opacityverwendet. Dadurch wird die Opacity Animation zum Erstellen einer app-spezifischen dekorativen Einblendungsanimation über eine Sekunde animiert.
<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>
Hinweise
Wenn Opacity für Objekte festgelegt wird, die geschachtelt sind, ist die effektive Deckkraft für das Rendern das Produkt aller anwendbaren Deckkraftfaktoren. Wenn beispielsweise ein Objekt, das Opacity=0.5 in einer Canvas enthalten ist, die ebenfalls Opacity=0.5enthalten ist, ist 0.25der effektive Opacity Wert für das Rendern .
Opacity Werte, die größer als 1,0 sind, werden beim Verwenden des Werts als 1,0 behandelt, obwohl beim Abrufen des Eigenschaftswerts immer noch der ursprüngliche wert größer als 1 angegeben wird.
Opacity Werte, die als kleiner als 0 festgelegt werden, werden bei Verwendung des Werts als 0 behandelt. In der Factoringlogik funktioniert das Festlegen eines Opacity Werts auf 2, um die Auswirkungen auf das Enthalten eines Objekts mit 0,5 Opacity abzubrechen. Der 2-Wert wird auch vor der Berechnung des geschachtelten Objektfaktors als 1,0 behandelt.
Opacity ist eine Eigenschaft, die manchmal in Storyboards mit visuellem Zustand mit null Dauer animiert wird. Beispielsweise wird das Fokusrechteck für visuelle Zustände "FocusStates" in der ursprünglichen Steuerelementvorlage festgelegt Opacity="0" , da dieses Rechteck nicht in einem standardmäßigen, nicht fokussierten Zustand angezeigt werden soll. Die visuellen Zustände definieren jedoch einen "Fokussierten" Zustand mit null Dauer, der die Deckkraft auf 1 festlegt, wenn das Steuerelement mithilfe dieser Vorlagen und Zustände festgestellt hat, dass es tastaturorientiert ist.
Deckkraft und Treffertests
Ein Opacity Wert von 0 schließt ein Objekt nicht vom Treffertest aus. Dieses Verhalten kann hilfreich sein, um Bildmap-Formatüberlagerungen zu erstellen, die über die restliche Benutzeroberfläche gezeichnet werden. Sie können z. B. eine Canvas mit zwei untergeordneten Elementen verwenden: ein Rechteck mit einer Höhe, einer Breite und einer Deckkraft von 0 und dem Layoutstamm der restlichen Benutzeroberfläche, die darunter zeichnen soll. Standardmäßig werden untergeordnete Elemente einer Canvas Zeichnung übereinander im gleichen absoluten Koordinatensystem angezeigt. Stellen Sie sicher, dass der ZIndex-Wert des Rectangle Elements höher ist als die anderen Elemente ZIndex (oder deklarieren Sie das Rectangle nach dem anderen Element in XAML-Element, um dasselbe Ergebnis zu erhalten.) Verbinden Sie Ihre Treffertestlogik (kombiniert Microsoft. BENUTZEROBERFLÄCHE. Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint und VisualTreeHelper.FindElementsInHostCoordinates to the PointerPressed event for the Rectangle.
Alternativ sollten Sie isHitTestVisible anstelle der Verwendung Opacityauf "IsHitTestVisiblefalse" festlegen, um ein Objekt von Treffertests auszuschließen.