UIElement.Opacity プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトの不透明度を取得または設定します。
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" .../>
プロパティ値
double
不透明度係数を宣言する 0 ~ 1.0 の値。1.0 は完全な不透明度を意味し、0 は透明を意味します。 既定値は 1.0 です。
例
この例では、 ストーリーボード と DoubleAnimation を使用して をターゲットにします Opacity
。 これにより、 が Opacity
アニメーション化され、1 秒間にアプリ固有の装飾フェードイン アニメーションが作成されます。
<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>
注釈
が入れ子になっているオブジェクトに設定されている場合 Opacity
、レンダリングに有効な不透明度は、適用可能なすべての不透明度係数の積になります。 たとえば、 を持つ Opacity=0.5
オブジェクトも である CanvasOpacity=0.5
に含まれている場合、レンダリングの有効な Opacity
値は です 0.25
。
Opacity
1.0 より大きい値は、値を使用すると 1.0 として扱われますが、プロパティ値を取得しても元の 1 より大きい値が得られます。
Opacity
0 未満に設定された値は、値を使用すると 0 として扱われます。 要素化ロジックでは、 を 2 に設定 Opacity
して、0.5 Opacity
のオブジェクトに含まれている効果を取り消すことができません。2 の値は、入れ子オブジェクトの因数演算が計算される前でも 1.0 として扱われます。
Opacity
は、ビジュアル状態のストーリーボードでアニメーション化される場合があり、期間が 0 のプロパティです。 たとえば、元のコントロール テンプレートでは、"FocusStates" の表示状態のフォーカス四角形が に Opacity="0"
設定されます。これは、この四角形が既定のフォーカスのない状態で表示されないようにするためです。 ただし、ビジュアルの状態では、これらのテンプレートと状態を使用するコントロールでキーボードフォーカスが検出された場合に Opacity を 1 に設定する、0 継続時間の "優先" 状態が定義されます。
不透明度とヒット テスト
Opacity
値が 0 の場合、ヒット テストからオブジェクトは除外されません。 この動作は、UI の残りの部分の上に描画される imagemap スタイルのオーバーレイを作成する場合に役立ちます。 たとえば、2 つの子を持つ Canvas を使用できます。高さ、幅、不透明度が 0 の四角形、下に描画する UI の残りの部分のレイアウト ルートです。 既定では、 の子は Canvas
、同じ絶対座標系で互いに描画されます。 の ZIndex 値が他のRectangle
要素よりも大きいことを確認します (または、XAML 要素ZIndex
の他の要素の後に を宣言Rectangle
して、同じ結果を取得します)。ヒット テスト ロジックを結び付けます (Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint と VisualTreeHelper.FindElementsInHostCoordinates を の Rectangle
PointerPressed イベントに結合します)。
または、ヒット テストからオブジェクトを除外するには、 を使用Opacity
するのではなく、IsHitTestVisible を に設定するfalse
必要があります。