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.
Ruft den Grad der Deckkraft des Objekts ab oder legt diese fest.
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 für volle Deckkraft und 0 bedeutungstransparent ist. Der Standardwert ist 1,0.
Beispiele
In diesem Beispiel werden ein Storyboard und DoubleAnimation als Ziel Opacity
verwendet. Dadurch wird animiert, Opacity
eine appspezifische dekorative Einblendanimation über eine Sekunde zu erstellen.
<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 geschachtelte Objekte festgelegt wird, 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.5
ist, ist 0.25
der effektive Opacity
Wert für das Rendern .
Opacity
Werte größer als 1,0 werden als 1,0 behandelt, wenn der Wert verwendet wird, obwohl sie beim Abrufen des Eigenschaftswerts immer noch den ursprünglichen Größer-1-Wert erhalten.
Opacity
Werte, die als kleiner als 0 festgelegt sind, werden als 0 behandelt, wenn der Wert verwendet wird. In der Factoringlogik funktioniert das Festlegen von auf Opacity
2 nicht, um die Auswirkungen des Enthaltenen in einem Objekt mit 0,5 Opacity
aufzuheben. Der Wert 2 wird als 1,0 behandelt, noch bevor das Factoring des geschachtelten Objekts berechnet wird.
Opacity
ist eine Eigenschaft, die in Storyboards für visuellen Zustand manchmal animiert wird, mit 00 Dauer. Beispielsweise wird das Fokusrechteck für die visuellen Zustände "FocusStates" in der ursprünglichen Steuerelementvorlage mit Opacity="0"
festgelegt, da dieses Rechteck nicht in einem nicht fokussierten Standardzustand 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 erkannt hat, dass es auf die Tastatur fokussiert ist.
Deckkraft und Treffertests
Ein Opacity
Wert von 0 schließt ein Objekt nicht vom Treffertest aus. Dieses Verhalten kann nützlich sein, um Überlagerungen im Imagemap-Stil zu erstellen, die auf der restlichen Benutzeroberfläche gezeichnet werden. Sie können beispielsweise einen Canvas-Wert mit zwei untergeordneten Elementen verwenden: ein Rechteck mit einer Höhe, eine Breite und eine Deckkraft von 0 sowie den Layoutstamm der restlichen Benutzeroberfläche, die darunter zeichnen soll. Standardmäßig sind untergeordnete Elemente einer Canvas
Zeichnung übereinander im gleichen absoluten Koordinatensystem vorhanden. Stellen Sie sicher, dass der ZIndex-Wert des Rectangle
höher als der wert des anderen Elements ZIndex
ist (oder deklarieren Sie das Rectangle
nach dem anderen Element im XAML-Element, um das gleiche Ergebnis zu erhalten.) Verknüpfen Sie Ihre Treffertestlogik (kombiniert Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint und VisualTreeHelper.FindElementsInHostCoordinates mit dem PointerPressed-Ereignis für Rectangle
.
Alternativ sollten Sie IsHitTestVisible auf festlegen, um ein Objekt vom Treffertest auszuschließen, anstatt zu false
verwenden Opacity
.