Flyout Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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'.
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Flyout : FlyoutBase
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Flyout : FlyoutBase
Public Class Flyout
Inherits FlyoutBase
<Flyout>
singleUIElement
</Flyout>
- Herança
- Atributos
Exemplos
Dica
Para obter mais informações, diretrizes de design e exemplos de código, consulte Submenu.
O aplicativo Galeria da WinUI 3 inclui exemplos interativos da maioria dos controles, recursos e funcionalidades da WinUI 3. 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.
Use um controle Submenu 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 outra interação do usuário. Para mostrar um menu de itens, use um MenuFlyout . Para obter mais informações, incluindo XAML e exemplos de código, consulte Submenus.
Um controle Submenu (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 Submenu 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 Submenu é 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 de Submenu:
- FlyoutBase.AttachedFlyout: uma propriedade anexada que associa um Flyout a um elemento de interface do usuário específico (pode ser qualquer classe derivada de FrameworkElement ).
- ShowAttachedFlyout: um método estático que pode determinar se um submenu já está associado a um elemento de interface do usuário por meio de uma atribuição FlyoutBase.AttachedFlyout . Nesse caso, o método chama ShowAt internamente, usando o FrameworkElement que você especificou.
Acessibilidade
Se você usar um Submenu sem conteúdo focalizável, por exemplo, com apenas texto, conforme mostrado aqui, deverá executar 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.
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 UIElement.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 |
Sempre retorna |
DispatcherQueue |
Obtém o ao |
ElementSoundMode |
Obtém ou define um valor que especifica a preferência do controle para se ele reproduz sons. (Herdado de FlyoutBase) |
FlyoutPresenterStyle | |
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. Essa propriedade sempre é verdadeira para aplicativos SDK do Aplicativo Windows. (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á escurcida. (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) |
SystemBackdrop |
Obtém ou define o pano de fundo do sistema a ser aplicado a este submenu. O pano de fundo é renderizado por trás do conteúdo do submenu. (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 este 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 o tratamento 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 nessa 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 ser oculto. (Herdado de FlyoutBase) |
Opened |
Ocorre quando o submenu é mostrado. (Herdado de FlyoutBase) |
Opening |
Ocorre antes que o submenu seja mostrado. (Herdado de FlyoutBase) |