UIElement.Opacity プロパティ

定義

オブジェクトの不透明度を取得または設定します。

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

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を持つオブジェクトもOpacity=0.5されている Canvas に含まれている場合、レンダリングの有効なOpacity値は0.25Opacity 1.0 より大きい値は、値を使用すると 1.0 として扱われますが、プロパティ値を取得しても元の 1 より大きい値が返されます。 Opacity 0 未満に設定された値は、値が使用されるときに 0 として扱われます。 因数分解ロジックでは、 Opacity を 2 に設定して、0.5 Opacity のオブジェクトに含まれている効果を取り消しても機能しません。2 の値は、入れ子になったオブジェクトの因子分解が計算される前でも 1.0 として扱われます。

Opacity は、ビジュアル状態のストーリーボードでアニメーション化されることがあり、期間が 0 のプロパティです。 たとえば、"FocusStates" の表示状態のフォーカス四角形は、元のコントロール テンプレートの Opacity="0" で設定されます。この四角形は既定のフォーカスされていない状態で表示されないようにするためです。 ただし、これらのテンプレートと状態を使用するコントロールでキーボードフォーカスが検出された場合、ビジュアルの状態では、不透明度を 1 に設定する 0 継続時間の "フォーカスされた" 状態が定義されます。

不透明度とヒット テスト

Opacity値 0 は、ヒット テストからオブジェクトを除外しません。 この動作は、残りの UI の上に描画される imagemap スタイルのオーバーレイを作成する場合に役立ちます。 たとえば、2 つの子を持つ Canvas を使用できます。高さ、不透明度が 0 の四角形、下に描画する UI の残りの部分のレイアウト ルートです。 既定では、 Canvas の子は、同じ絶対座標系で相互に描画されます。 RectangleZIndex 値が他の要素のZIndexより大きいことを確認します (または、同じ結果を得るために、XAML 要素の他の要素の後にRectangleを宣言します)。ヒット テスト ロジックを結び付けます (Microsoftを組み合わせます。Ui。Xaml.Input.PointerRoutedEventArgs.GetCurrentPointVisualTreeHelper.FindElementsInHostCoordinates を、RectanglePointerPressed イベントに変換します。

または、ヒット テストからオブジェクトを除外するには、Opacityを使用するのではなく、IsHitTestVisiblefalse に設定する必要があります。

適用対象

こちらもご覧ください