다음을 통해 공유


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 효과를 주어 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.5CanvasOpacity=0.5에도 포함된 경우 렌더링의 유효 Opacity 값은 입니다0.25. Opacity 1.0보다 큰 값은 값을 사용할 때 1.0으로 처리되지만 속성 값을 가져오면 원래보다 큰 값이 계속 제공됩니다. Opacity 0보다 작은 값은 값을 사용할 때 0으로 처리됩니다. 팩터링 논리에서 을 2로 설정 Opacity 하여 0.5 Opacity 가 있는 개체에 포함된 효과를 취소합니다. 2 값은 중첩 개체 팩터링을 계산하기 전에도 1.0으로 처리됩니다.

Opacity 는 시각적 상태 스토리보드에 애니메이션 효과를 주며 기간이 0인 속성입니다. 예를 들어 "FocusStates" 시각적 상태에 대한 포커스 사각형은 원래 컨트롤 템플릿에서 로 Opacity="0" 설정됩니다. 이 사각형이 기본 비중점 상태로 표시되지 않도록 하기 때문입니다. 그러나 시각적 상태는 이러한 템플릿 및 상태를 사용하는 컨트롤이 키보드 중심임을 감지한 경우 불투명도를 1로 설정하는 제로 기간 "중요" 상태를 정의합니다.

불투명도 및 적중 테스트

Opacity 값 0은 적중 테스트에서 개체를 제외하지 않습니다. 이 동작은 나머지 UI 위에 그려진 imagemap 스타일 오버레이를 만드는 데 유용할 수 있습니다. 예를 들어 높이가 있는 사각형, 너비 및 불투명도가 0인 사각형, 아래에 그려야 하는 나머지 UI의 레이아웃 루트 등 두 개의 자식이 있는 Canvas를 사용할 수 있습니다. 기본적으로 같은 절대 좌표계에서 서로 위에 그리기의 자식 Canvas 입니다. 의 RectangleZIndex 값이 다른 요소의 ZIndex 값보다 높은지 확인합니다(또는 XAML 요소의 다른 요소 다음에 를 선언 Rectangle 하여 동일한 결과를 가져옵니다.) 적중 테스트 논리를 연결합니다(Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPointVisualTreeHelper.FindElementsInHostCoordinates를 의 RectanglePointerPressed 이벤트에 결합합니다.

또는 적중 테스트에서 개체를 제외하려면 를 사용하는 Opacity대신 IsHitTestVisible를 로 false설정해야 합니다.

적용 대상

추가 정보