次の方法で共有


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 オブジェクトも である CanvasOpacity=0.5に含まれている場合、レンダリングの有効な Opacity 値は です 0.25Opacity 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.GetCurrentPointVisualTreeHelper.FindElementsInHostCoordinates を の RectanglePointerPressed イベントに結合します)。

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

適用対象

こちらもご覧ください