Partilhar via


Como abrir uma janela ou caixa de diálogo (WPF .NET)

Você pode criar suas próprias janelas e exibi-las no Windows Presentation Foundation (WPF). Neste artigo, aprenderá a exibir janelas e diálogos modais e não modais.

Conceitualmente, uma janela e uma caixa de diálogo são a mesma coisa: elas são exibidas para um usuário fornecer informações ou interação. Ambos são objetos de "janela". O design da janela e a forma como ela é usada, é o que faz uma caixa de diálogo. Uma caixa de diálogo é geralmente pequena em tamanho e requer que o usuário responda a ela. Para obter mais informações, consulte Visão geral das janelas do WPF e Visão geral das caixas de diálogo.

Se estiver interessado em abrir caixas de diálogo do sistema operativo, consulte Como abrir uma caixa de diálogo comum.

Abrir como modal

Quando uma janela modal é aberta, geralmente representa uma caixa de diálogo. O WPF restringe a interação à janela modal e o código que abriu a janela pausa até que a janela se feche. Esse mecanismo fornece uma maneira fácil de solicitar dados ao usuário e aguardar sua resposta.

Use o método ShowDialog para abrir uma janela. O código a seguir instancia a janela e a abre modalmente. O código que abre a janela pausa, esperando que a janela seja fechada:

var window = new Margins();

window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.ShowDialog()

Importante

Depois que uma janela é fechada, a mesma instância de objeto não pode ser usada para reabri-la.

Para obter mais informações sobre como manipular a resposta do usuário a uma caixa de diálogo, consulte Visão geral caixas de diálogo: processando a resposta.

Abrir como sem moderação

Abrir uma janela sem modo significa exibi-la como uma janela normal. O código que abre a janela continua a ser executado à medida que a janela se torna visível. Você pode focar e interagir com todas as janelas sem modo exibidas pelo seu aplicativo, sem restrições.

Use o método Show para abrir uma janela. O código a seguir instancia a janela e a abre sem moderação. O código que abre a janela continua a ser executado:

var window = new Margins();

window.Owner = this;
window.Show();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.Show()

Importante

Depois que uma janela é fechada, a mesma instância de objeto não pode ser usada para reabri-la.

Ver também