Flyout Classe

Definição

Representa um controle que exibe uma interface do usuário leve que é uma informação ou requer interação do usuário. Ao contrário de uma caixa de diálogo, um Submenu pode ser ignorado clicando ou tocando fora dele, pressionando o botão voltar do dispositivo ou pressionando a tecla '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>

Herança
Object IInspectable DependencyObject FlyoutBase Flyout
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)

Exemplos

Dica

Para obter mais informações, diretrizes de design e exemplos de código, consulte Submenus.

Os aplicativos da Galeria do WinUI 2 incluem exemplos interativos da maioria dos controles, recursos e funcionalidades do WinUI 2. Obtenha o aplicativo na Microsoft Store ou o código-fonte no GitHub.

Comentários

Um Submenu exibe uma mensagem que requer interação do usuário.

Controle de submenu

Use um controle Flyout para coletar informações, para exibir mais informações ou para avisos e confirmações. Ao contrário de uma caixa de diálogo, um Submenu não cria uma janela separada e não bloqueia a interação de outro usuário. Para mostrar um menu de itens, use um MenuFlyout . Para obter mais informações, incluindo XAML e exemplos de código, consulte Início Rápido: Adicionar um Submenu.

Um controle Flyout (ou MenuFlyout) é usado como o valor da propriedade Button.Flyout . Isso geralmente é definido em XAML como parte de uma definição de interface do usuário da página. Button é o único controle que tem uma propriedade Flyout dedicada. Para associar um Flyout a outros controles, use a propriedade anexada FlyoutBase.AttachedFlyout . Quando definido como Button.Flyout, o Submenu é exibido quando o botão é tocado ou invocado de outra forma. Quando um Flyout é atribuído a outros elementos de interface do usuário usando FlyoutBase.AttachedFlyout, você deve chamar o método ShowAt ou o método ShowAttachedFlyout estático para exibir o submenu.

Além dos membros listados neste tópico de referência, há outros membros da classe base FlyoutBase que geralmente são usados em cenários típicos do Flyout:

Acessibilidade

Se você usar um Submenu sem conteúdo focalizável, por exemplo, com apenas texto, conforme mostrado aqui, você deverá seguir algumas etapas adicionais para garantir que seu conteúdo esteja acessível. Especificamente, você precisa garantir que o Narrador do Windows ou outros leitores de tela possam ler o conteúdo do submenu.

Controle de submenu com conteúdo de texto

Por padrão, há propriedades definidas no FlyoutPresenter que impedem que ele receba o foco. Esse é o comportamento desejado quando o conteúdo dentro do Submenu pode receber o foco. No entanto, se o conteúdo dentro do Submenu não puder receber o foco, você deverá atualizar para o FlyoutPresenterStyle para permitir que o FlyoutPresenter receba o foco. Para fazer isso, defina IsTabStop como true e TabNavigation como Cycle no estilo de apresentador de submenu.

Este exemplo mostra como permitir que o FlyoutPresenter receba o foco para que o conteúdo seja acessível.

<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>

Construtores

Flyout()

Inicializa uma nova instância da classe Flyout .

Propriedades

AllowFocusOnInteraction

Obtém ou define um valor que indica se o elemento obtém automaticamente o foco quando o usuário interage com ele.

(Herdado de FlyoutBase)
AllowFocusWhenDisabled

Obtém ou define um valor que especifica se o controle pode receber foco quando está desabilitado.

(Herdado de FlyoutBase)
AreOpenCloseAnimationsEnabled

Obtém ou define um valor que indica se as animações são reproduzidas quando o submenu é aberto ou fechado.

(Herdado de FlyoutBase)
Content

Obtém ou define o conteúdo do Submenu.

ContentProperty

Obtém o identificador da propriedade Dependência de conteúdo .

Dispatcher

Obtém o CoreDispatcher ao qual esse objeto está associado. O CoreDispatcher representa uma instalação que pode acessar DependencyObject no thread da interface do usuário mesmo que o código seja iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
ElementSoundMode

Obtém ou define um valor que especifica a preferência do controle para se ele reproduz sons.

(Herdado de FlyoutBase)
FlyoutPresenterStyle

Obtém ou define o Estilo aplicado ao conteúdo do Submenu .

FlyoutPresenterStyleProperty

Obtém o identificador da propriedade de dependência FlyoutPresenterStyle .

InputDevicePrefersPrimaryCommands

Obtém um valor que indica se o dispositivo de entrada usado para abrir o submenu não abre facilmente os comandos secundários.

(Herdado de FlyoutBase)
IsConstrainedToRootBounds

Obtém um valor que indica se o submenu é mostrado dentro dos limites da raiz XAML.

(Herdado de FlyoutBase)
IsOpen

Obtém um valor que indica se o submenu está aberto.

(Herdado de FlyoutBase)
LightDismissOverlayMode

Obtém ou define um valor que especifica se a área fora de uma interface do usuário de descarte claro está escurecida.

(Herdado de FlyoutBase)
OverlayInputPassThroughElement

Obtém ou define um elemento que deve receber eventos de entrada de ponteiro mesmo quando estiver abaixo da sobreposição do submenu.

(Herdado de FlyoutBase)
Placement

Obtém ou define o posicionamento padrão a ser usado para o submenu, em relação ao seu destino de posicionamento.

(Herdado de FlyoutBase)
ShouldConstrainToRootBounds

Obtém ou define um valor que indica se o submenu deve ser mostrado dentro dos limites da raiz XAML.

(Herdado de FlyoutBase)
ShowMode

Obtém ou define um valor que indica como um submenu se comporta quando mostrado.

(Herdado de FlyoutBase)
Target

Obtém o elemento a ser usado como o destino de posicionamento do submenu.

(Herdado de FlyoutBase)
XamlRoot

Obtém ou define o XamlRoot no qual esse submenu está sendo exibido.

(Herdado de FlyoutBase)

Métodos

ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
CreatePresenter()

Quando substituído em uma classe derivada, inicializa um controle para mostrar o conteúdo do submenu conforme apropriado para o controle derivado. Observação: esse método não tem implementação de classe base e deve ser substituído em uma classe derivada.

(Herdado de FlyoutBase)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria nos casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
Hide()

Fecha o submenu.

(Herdado de FlyoutBase)
OnProcessKeyboardAccelerators(ProcessKeyboardAcceleratorEventArgs)

Chamado pouco antes de um atalho de teclado (acelerador) ser processado em seu aplicativo. Invocado sempre que o código do aplicativo ou processos internos chamam ProcessKeyboardAccelerators. Substitua esse método para influenciar a manipulação do acelerador padrão.

(Herdado de FlyoutBase)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em uma DependencyProperty específica nesta instância dependencyObject .

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
ShowAt(DependencyObject, FlyoutShowOptions)

Mostra o submenu colocado em relação ao elemento especificado usando as opções especificadas.

(Herdado de FlyoutBase)
ShowAt(FrameworkElement)

Mostra o submenu colocado em relação ao elemento especificado.

(Herdado de FlyoutBase)
TryInvokeKeyboardAccelerator(ProcessKeyboardAcceleratorEventArgs)

Tenta invocar um atalho de teclado (acelerador).

(Herdado de FlyoutBase)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Eventos

Closed

Ocorre quando o submenu está oculto.

(Herdado de FlyoutBase)
Closing

Ocorre quando o submenu começa a ficar oculto.

(Herdado de FlyoutBase)
Opened

Ocorre quando o submenu é mostrado.

(Herdado de FlyoutBase)
Opening

Ocorre antes que o submenu seja mostrado.

(Herdado de FlyoutBase)

Aplica-se a

Confira também