UIElement.Opacity 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
개체의 불투명도를 가져오거나 설정합니다.
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
불투명도 인수를 선언하는 0에서 1.0 사이의 값이며, 1.0은 전체 불투명도를 의미하고 0은 투명함을 의미합니다. 기본값은 1.0입니다.
예제
이 예제에서는 Storyboard 및 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.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
입니다. 의 Rectangle
ZIndex 값이 다른 요소의 ZIndex
값보다 높은지 확인합니다(또는 XAML 요소의 다른 요소 다음에 를 선언 Rectangle
하여 동일한 결과를 가져옵니다.) 적중 테스트 논리를 연결합니다(Microsoft.UI.Xaml.Input.PointerRoutedEventArgs.GetCurrentPoint 및 VisualTreeHelper.FindElementsInHostCoordinates를 의 Rectangle
PointerPressed 이벤트에 결합합니다.
또는 적중 테스트에서 개체를 제외하려면 를 사용하는 Opacity
대신 IsHitTestVisible를 로 false
설정해야 합니다.