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。

範例

此範例會使用 StoryboardDoubleAnimation 以為目標 Opacity 。 這會以動畫 Opacity 顯示 ,以在一秒的持續時間內建立應用程式特定的裝飾性淡入動畫。

  <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.5Canvas中包含 的物件,則轉譯的有效 Opacity0.25 值為 。 Opacity 使用值時,大於 1.0 的值會被視為 1.0,雖然取得屬性值仍然會為您提供原始大於一的值。 Opacity 使用值時,設定為小於 0 的值會被視為 0。 在分解邏輯中,將 設定 Opacity 為 2 來取消具有 0.5 Opacity 的物件所包含的效果無法運作;即使計算巢狀物件因數之前,2 值也會被視為 1.0。

Opacity 是一個屬性,有時在視覺狀態分鏡腳本中以動畫顯示,持續時間為零。 例如,「FocusStates」 視覺狀態的焦點矩形會在原始控制項範本中設定 Opacity="0" ,因為您不希望此矩形出現在預設的非焦點狀態。 但是,當控制項使用這些範本和狀態偵測到鍵盤焦點時,視覺狀態會定義零持續時間的「焦點」狀態,將 Opacity 設定為 1。

不透明度和點擊測試

Opacity值為 0 不會從點擊測試中排除物件。 此行為對於建立繪製在 UI 其餘部分之上的 imagemap 樣式重迭很有用。 例如,您可以使用具有兩個子系的Canvas:具有HeightWidth和 Opacity 為 0 的Rectangle,以及應該繪製下其餘 UI 的配置根目錄。 根據預設, Canvas 繪製在相同絕對座標系統中彼此的子系。 請確定 的 RectangleZIndex值高於另一個元素的 ZIndex (,或在 XAML 元素中的其他元素之後宣告 Rectangle ,以取得相同的結果。) Wire 您的點擊測試邏輯 (結合Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPointVisualTreeHelper.FindElementsInHostCoordinates至 的PointerPressed事件 Rectangle

或者,若要從點擊測試中排除物件,您應該將 IsHitTestVisible 設定為 false ,而不是使用 Opacity

適用於

另請參閱