다음을 통해 공유


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 을 사용하여 불투명도를 대상으로 합니다. 이렇게 하면 불투명도에 애니메이션 효과를 주어 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>
' When the user clicks the Rectangle, the animation
' begins.
Private Sub Pointer_Clicked(ByVal sender As Object, ByVal e As PointerRoutedEventArgs)
    myStoryboard.Begin()
End Sub

설명

중첩된 개체에 대해 불투명도가 설정된 경우 렌더링에 대한 유효 불투명도는 적용 가능한 모든 불투명도 요소의 산물입니다. 예를 들어 이 인 CanvasOpacity=0.5에 포함된 개체 Opacity=0.5 가 인 경우 렌더링에 대한 유효 불투명도 값은 입니다0.25. 1.0보다 큰 불투명도 값은 값이 사용될 때 1.0으로 처리되지만 속성 값을 가져오면 원래 값이 1보다 큰 값이 제공됩니다. 0보다 작게 설정된 불투명도 값은 값을 사용할 때 0으로 처리됩니다. 팩터링 논리에서 불투명도가 0.5인 개체에 포함된 효과를 취소하도록 불투명도를 2로 설정하면 작동하지 않습니다. 2 값은 중첩 개체 팩터링이 계산되기 전에도 1.0으로 처리됩니다.

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

불투명도 및 적중 테스트

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

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

적용 대상

추가 정보