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 을 사용하여 불투명도를 대상으로 합니다. 이렇게 하면 불투명도에 애니메이션 효과를 주어 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 의 자식은 동일한 절대 좌표계에서 서로 위에 그립니다. Rectangle의 ZIndex 값이 다른 요소의 ZIndex보다 높은지 확인합니다(또는 동일한 결과를 얻으려면 XAML 요소 순서에서 다른 요소 다음에 Rectangle을 선언합니다.) 적중 테스트 논리(PointerRoutedEventArgs.GetCurrentPoint 및 VisualTreeHelper.FindElementsInHostCoordinates를 결합)를 Rectangle에 대한 PointerPressed 이벤트에 연결합니다.
또는 적중 테스트에서 개체를 제외하려면 Opacity를 사용하는 대신 IsHitTestVisible 를 false로 설정해야 합니다.