다음을 통해 공유


Flyout 클래스

정의

정보이거나 사용자 상호 작용이 필요한 경량 UI를 표시하는 컨트롤을 나타냅니다. 대화 상자와 달리 플라이아웃은 외부를 클릭하거나 탭하거나 디바이스의 뒤로 단추를 누르거나 'Esc' 키를 눌러 밝게 해제할 수 있습니다.

/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.UI.Xaml.Markup.ContentProperty(Name="Content")]
class Flyout : FlyoutBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.UI.Xaml.Markup.ContentProperty(Name="Content")]
public class Flyout : FlyoutBase
Public Class Flyout
Inherits FlyoutBase
<Flyout>
    singleUIElement
</Flyout>

상속
Object IInspectable DependencyObject FlyoutBase Flyout
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

자세한 정보, 디자인 지침 및 코드 예제는 플라이아웃을 참조하세요.

WinUI 2 갤러리 앱에는 대부분의 WinUI 2 컨트롤, 특징, 기능의 대화형 예제가 포함되어 있습니다. Microsoft Store에서 앱을 다운로드하거나 GitHub에서 소스 코드를 가져오세요.

설명

플라이아웃은 사용자 상호 작용이 필요한 메시지를 표시합니다.

플라이아웃 컨트롤

정보 수집, 추가 정보 표시 또는 경고 및 확인에 플라이아웃 컨트롤을 사용합니다. 대화 상자와 달리 Flyout은 별도의 창을 만들지 않으며 다른 사용자 상호 작용을 차단하지 않습니다. 항목 메뉴를 표시하려면 대신 MenuFlyout 을 사용합니다. XAML 및 코드 예제를 비롯한 자세한 내용은 빠른 시작: 플라이아웃 추가를 참조하세요.

Flyout 컨트롤(또는 MenuFlyout)은 Button.Flyout 속성의 값으로 사용됩니다. 일반적으로 페이지의 UI 정의의 일부로 XAML에서 설정됩니다. 단추 는 전용 Flyout 속성이 있는 유일한 컨트롤입니다. Flyout을 다른 컨트롤과 연결하려면 FlyoutBase.AttachedFlyout 연결된 속성을 사용합니다. Button.Flyout으로 설정하면 단추가 탭되거나 호출될 때 플라이아웃이 표시됩니다. FlyoutBase.AttachedFlyout을 사용하여 다른 UI 요소에 Flyout을 할당하는 경우 ShowAt 메서드 또는 정적 ShowAttachedFlyout 메서드를 호출하여 플라이아웃을 표시해야 합니다.

이 참조 항목에 나열된 멤버 외에도 일반적인 Flyout 시나리오에서 자주 사용되는 기본 클래스 FlyoutBase 의 다른 멤버가 있습니다.

액세스 가능성

여기에 표시된 것처럼 포커스가 있는 콘텐츠가 없는 Flyout을 사용하는 경우(예: 텍스트만 있는 경우) 콘텐츠에 액세스할 수 있도록 몇 가지 추가 단계를 수행해야 합니다. 특히 Windows 내레이터 또는 다른 화면 읽기 프로그램이 플라이아웃의 콘텐츠를 읽을 수 있는지 확인해야 합니다.

텍스트 콘텐츠가 있는 플라이아웃 컨트롤

기본적으로 FlyoutPresenter 에는 포커스를 받지 못하도록 하는 속성이 설정되어 있습니다. 플라이아웃 내의 콘텐츠가 포커스를 받을 수 있는 경우 원하는 동작입니다. 그러나 Flyout 내의 콘텐츠가 포커스를 받을 수 없는 경우 FlyoutPresenter가 포커스를 대신 받을 수 있도록 FlyoutPresenterStyle로 업데이트해야 합니다. 이렇게 하려면 IsTabStoptrue 로 설정하고 TabNavigation 을 플라이아웃 발표자 스타일의 순환 으로 설정합니다.

이 예제에서는 콘텐츠에 액세스할 수 있도록 FlyoutPresenter 가 포커스를 받도록 하는 방법을 보여 줍니다.

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Button VerticalAlignment="Center" HorizontalAlignment="Center"
            Content="Open flyout">
        <Button.Flyout>
            <Flyout>
                <Flyout.FlyoutPresenterStyle>
                    <Style TargetType="FlyoutPresenter">
                        <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled"/>
                        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled"/>
                        <Setter Property="IsTabStop" Value="True"/>
                        <Setter Property="TabNavigation" Value="Cycle"/>
                    </Style>
                </Flyout.FlyoutPresenterStyle>
                <TextBlock TextWrapping="Wrap" Text="This is some text in a flyout."/>
            </Flyout>
        </Button.Flyout>
    </Button>
</Grid>

생성자

Flyout()

Flyout 클래스의 새 instance 초기화합니다.

속성

AllowFocusOnInteraction

사용자가 상호 작용할 때 요소가 자동으로 포커스를 가져오는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
AllowFocusWhenDisabled

컨트롤이 비활성화될 때 포커스를 받을 수 있는지 여부를 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
AreOpenCloseAnimationsEnabled

플라이아웃을 열거나 닫을 때 애니메이션이 재생되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
Content

플라이아웃의 콘텐츠를 가져오거나 설정합니다.

ContentProperty

Content 종속성 속성의 식별자를 가져옵니다.

Dispatcher

이 개체가 연결된 CoreDispatcher 를 가져옵니다. CoreDispatcher는 코드가 비 UI 스레드에서 시작되더라도 UI 스레드에서 DependencyObject에 액세스할 수 있는 기능을 나타냅니다.

(다음에서 상속됨 DependencyObject)
ElementSoundMode

소리를 재생하는지 여부에 대한 컨트롤의 기본 설정을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
FlyoutPresenterStyle

플라이아웃 콘텐츠에 적용된 스타일을 가져오거나 설정합니다.

FlyoutPresenterStyleProperty

FlyoutPresenterStyle 종속성 속성의 식별자를 가져옵니다.

InputDevicePrefersPrimaryCommands

플라이아웃을 여는 데 사용되는 입력 디바이스가 보조 명령을 쉽게 열지 않는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 FlyoutBase)
IsConstrainedToRootBounds

플라이아웃이 XAML 루트의 범위 내에 표시되는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 FlyoutBase)
IsOpen

플라이아웃이 열려 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 FlyoutBase)
LightDismissOverlayMode

광원 해제 UI 외부 영역이 어둡게 표시되는지 여부를 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
OverlayInputPassThroughElement

플라이아웃 오버레이 아래에 있는 경우에도 포인터 입력 이벤트를 수신해야 하는 요소를 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
Placement

배치 대상과 관련하여 플라이아웃에 사용할 기본 배치를 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
ShouldConstrainToRootBounds

플라이아웃이 XAML 루트의 범위 내에 표시되어야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
ShowMode

플라이아웃이 표시되면 동작하는 방식을 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)
Target

플라이아웃의 배치 대상으로 사용할 요소를 가져옵니다.

(다음에서 상속됨 FlyoutBase)
XamlRoot

이 플라이아웃을 볼 XamlRoot를 가져오거나 설정합니다.

(다음에서 상속됨 FlyoutBase)

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

(다음에서 상속됨 DependencyObject)
CreatePresenter()

파생 클래스에서 재정의되는 경우 파생된 컨트롤에 적합한 플라이아웃 콘텐츠를 표시하도록 컨트롤을 초기화합니다. 참고: 이 메서드는 기본 클래스 구현이 없으며 파생 클래스에서 재정의되어야 합니다.

(다음에서 상속됨 FlyoutBase)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우에 적용되는 종속성 속성에 대해 설정된 기본 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

DependencyObject에서 종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
Hide()

플라이아웃을 닫습니다.

(다음에서 상속됨 FlyoutBase)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

바로 가기 키(액셀러레이터)가 앱에서 처리되기 직전에 호출됩니다. 애플리케이션 코드 또는 내부 프로세스가 ProcessKeyboardAccelerators를 호출할 때마다 호출됩니다. 기본 가속기 처리에 영향을 주도록 이 메서드를 재정의합니다.

(다음에서 상속됨 FlyoutBase)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject instance 특정 DependencyProperty에 대한 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

DependencyObject에 대한 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
ShowAt(DependencyObject, FlyoutShowOptions)

지정된 옵션을 사용하여 지정된 요소와 관련하여 배치된 플라이아웃을 표시합니다.

(다음에서 상속됨 FlyoutBase)
ShowAt(FrameworkElement)

지정된 요소와 관련하여 배치된 플라이아웃을 표시합니다.

(다음에서 상속됨 FlyoutBase)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

바로 가기 키(가속기)를 호출하려고 시도합니다.

(다음에서 상속됨 FlyoutBase)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

RegisterPropertyChangedCallback을 호출하여 이전에 등록된 변경 알림을 취소합니다.

(다음에서 상속됨 DependencyObject)

이벤트

Closed

플라이아웃이 숨겨져 있을 때 발생합니다.

(다음에서 상속됨 FlyoutBase)
Closing

플라이아웃이 숨겨지기 시작할 때 발생합니다.

(다음에서 상속됨 FlyoutBase)
Opened

플라이아웃이 표시되면 발생합니다.

(다음에서 상속됨 FlyoutBase)
Opening

플라이아웃이 표시되기 전에 발생합니다.

(다음에서 상속됨 FlyoutBase)

적용 대상

추가 정보