Tutorial WPF para iniciantes
⚡ Resumo Inteligente
WPF (Windows Apresentação Foundation) é Microsoftestrutura para construir riqueza Windows Aplicações para desktop. Iniciantes aprendem como XAML, vinculação de dados e gráficos com aceleração por hardware se combinam para criar interfaces de usuário escaláveis e visualmente ricas com menos código.

O que é WPF?
WPF é uma estrutura para construir Windows WPF é um aplicativo que permite aos desenvolvedores criar interfaces de usuário ricas com animações 3D e cores vibrantes, utilizando menos complexidade de código. É um mecanismo de renderização vetorial que usa a aceleração de hardware das placas gráficas modernas, o que torna a interface do usuário mais rápida e altamente escalável. Windows Apresentação Foundation.
O WPF pode ser considerado uma evolução do WinForms. Ele fornece um sistema de exibição gráfica fácil de operar para Windows e oferece uma separação clara entre a interface do usuário e a lógica de negócios.
Os aplicativos WPF são normalmente implantados como programas de desktop independentes, mas também podem ser hospedados como objetos incorporados em outros aplicativos.
Por que WPF?
Existem muitas razões para usar a plataforma WPF. Algumas das principais são:
- Uma plataforma ideal para usar se você precisar lidar com vários tipos de mídia
- O WPF permite criar uma interface de usuário com temas personalizados. Ele também é útil quando você precisa carregar apenas uma parte da interface ou vincular dados XML.
- Ele permite que você aproveite os benefícios da grande biblioteca de classes .NET, pois ela é construída sobre Tecnologia .NET
- Independência de resolução, permitindo que aplicativos desenvolvidos com WPF sejam executados em telas pequenas de tablets ou em monitores de 20 polegadas.
- O WPF utiliza o DirectX em vez da WinAPI. Ele usa o sistema gráfico do computador cliente, oferecendo, portanto, maior poder de renderização gráfica.
- Suporta um modelo de documento de fluxo que permite um layout com qualidade de "editoração eletrônica".
- Aparência e comportamento são fracamente acoplados. Isso permite que designers e desenvolvedores trabalhem em dois modelos separados.
- No framework WPF, você pode projetar ferramentas graficamente usando documentos XML simples em vez de analisar código.
- Permite usar aceleração de hardware para desenhar a GUI, para melhor desempenho
Em seguida, vejamos como a estrutura evoluiu ao longo do tempo.
História do WPF
Windows 1.0 foi o primeiro ambiente GUI do MicrosoftFuncionava como uma camada sobre o DOS, dependendo dos sistemas GDI e USER para gráficos e interface do usuário.
O DirectX foi introduzido em 1995 como um sistema gráfico de alto desempenho voltado para jogos e outros ambientes relacionados a gráficos. Ao longo dos anos, muitas versões foram lançadas, e o DirectX 9 forneceu uma biblioteca que podia ser usada com código .NET gerenciado.
| Versão WPF | Ano de lançamento | Versão .Net | Versão do Visual Studio | Diferenciais |
|---|---|---|---|---|
| 3.0 | 2006 | 3.0 | N/D | Lançamento inicial. No entanto, o desenvolvimento do WPF pode ser feito com o VS 2005. |
| 3.5 | 2007 | 3.5 | EUA 2008 | Modificação e melhorias em: Modelo de aplicação, vinculação, controles, documentos, anotações e elementos de interface de usuário 3D. |
| 3.5 SP1 | 2008 | 3.5 SP1 | N/D | Suporte nativo à tela inicial. Novo controle de navegador da web, suporte a sombreador de pixel DirectX. |
| 4.0 | 2010 | 4.0 | EUA 2010 | Novos controles: Calendário, DataGrid, Seletor de Data. Suporte para multitoque e manipulação. |
| 4.5 | 2012 | 4.5 | EUA 2012 | Inicialização mais rápida e desempenho aprimorado na exibição de grandes conjuntos de dados. Novo controle Ribbon e interface INotifyDataErrorInfo para validação de dados. |
| 4.5.1 | 2013 | 4.5.1 | EUA 2013 | Pequenas melhorias de desempenho e confiabilidade. |
| 4.5.2 | 2014 | 4.5.2 | NA | Nenhuma mudança importante |
| 4.6 | 2015 | 4.6 | EUA 2015 | Suporte transparente para janela infantil Melhorias em HDPI e Touch |
| 4.8 | 2019 | 4.8 | EUA 2019 | Última versão principal do .NET Framework, com correções para alta DPI e melhorias de acessibilidade. |
| .NET Core 3.0 em diante | 2019-presente | .NET Core 3.0 para .NET 10 | VS 2019/2022 | O WPF torna-se de código aberto e é distribuído com o .NET moderno (os aplicativos permanecem). Windows-apenas). |
O WPF não é mais versionado separadamente do .NET. Desde 2019, ele é distribuído como um componente de código aberto da plataforma .NET moderna, e a versão atual está incluída no .NET 10, que chegou em novembro de 2025 como uma versão de suporte de longo prazo (LTS).
Recursos do WPF
O diagrama abaixo agrupa as principais funcionalidades do WPF, listadas em detalhes a seguir.

- Documentos e Impressão
- Segurança, acessibilidade e localização
- Oferece interoperabilidade com Windows Controles de formulários
- Direct3D é usado em aplicativos gráficos onde o desempenho é importante
- Usa o hardware da placa de vídeo para renderização
- Os gráficos vetoriais permitem que você dimensione seu aplicativo sem perda de qualidade.
- O WPF suporta um sistema de pixels lógicos de ponto flutuante e cores ARGB de 32 bits.
- Redefinir estilos e modelos de controle
- Construindo fontes internacionais a partir de fontes compostas
- A renderização de texto em WPF aproveita a tecnologia ClearType.
- Permite usar a técnica de cache de texto pré-renderizado na memória de vídeo
- Abordagem baseada em recursos para cada controle
- Os temporizadores de apresentação são inicializados e gerenciados pelo WPF
- A relação entre vídeo e animação também é suportada
- Em WPF, um estilo é um conjunto de propriedades que devem ser aplicadas ao conteúdo usado para renderização visual.
- Os modelos em WPF ajudam você a alterar a interface do usuário do seu documento.
- Os comandos são mais absolutostract e versão fracamente acoplada dos eventos
- O suporte WPF para comandos reduz a quantidade de código que precisamos escrever
Próximo neste WPF Tutorial de C#Vamos aprender sobre os tipos principais e a infraestrutura do WPF.
Tipos principais e infraestruturas do WPF
As aulas no WPF são divididas em quatro tipos diferentes:
- Elemento de interface do usuário
- Elemento de Estrutura
- Elemento de conteúdo
- FrameworkContentElement
Essas classes são conhecidas como classes de elementos base. Elas fornecem a base para um modelo de composição de interfaces de usuário.
As interfaces de usuário do WPF são compostas de elementos que são organizados em uma hierarquia em forma de árvore, chamada árvore de elementos. A árvore de elementos é uma maneira intuitiva de estruturar interfaces de usuário e é a estrutura que permite obter serviços de interface de usuário robustos.
XAML
A Linguagem de Marcação de Aplicativos Extensível, também chamada de "XAML" (pronuncia-se "zammel"), é uma forma declarativa de definir interfaces de usuário.
Aqui está a definição XAML de um botão simples:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Vantagens de usar a linguagem XAML:
- XAML separa a aparência do front-end da lógica do back-end.
- XAML é o método mais fácil para representar interfaces de usuário
- XAML funciona eficazmente com ferramentas de design.
Controles
O framework WPF suporta muitos controles úteis, como:
- Editando controles como TextoBox, VerificarBox, Botao de radio
- Controles de lista, como ListaBox, ListView, TreeView
- Informações do usuário, como Label, WPF ProgressBar, ToolTip
- Ações como Menu, Botão e Barra de Ferramentas
- Aparências como Borda, Imagem WPF e Viewbox
- Caixas de diálogo comuns, como OpenFileDialog e PrintDialog.
- Contêineres como TabControl, ScrollBar e GroupBox
- Layouts como DockPanel, StackPanel e Grid.
- Navegação como quadro e hiperlink
A aparência dos controles pode ser personalizada com estilos e modelos sem programação. Você também pode criar um controle personalizado derivando uma nova classe de uma classe base apropriada.
Aparência
O WPF fornece um recurso para personalizar a aparência do seu aplicativo. Ele permite que você defina objetos e valores para coisas como fontes, planos de fundo, etc.
O recurso de estilos permite padronizar uma aparência específica para todo o produto. Ele permite substituir a aparência padrão, mantendo seu comportamento padrão.
Um modelo de dados permite controlar a visualização padrão dos dados vinculados. Com a ajuda de temas, você pode aplicar facilmente os estilos visuais do sistema operacional.
Layout e Painéis
O layout auxilia no posicionamento e dimensionamento adequados dos controles. Faz parte do processo de composição da apresentação para o usuário. O framework WPF facilita o processo de layout e oferece maior adaptabilidade à aparência da interface do usuário.
A infraestrutura de layout é oferecida por cinco classes principais: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid e 5) Canvas
Gráficos
O WPF oferece um sistema gráfico aprimorado:
- O WPF utiliza unidades independentes de dispositivo, permitindo independência de resolução e de dispositivo. Cada pixel independente de dispositivo é dimensionado automaticamente de acordo com a configuração de pontos por polegada (DPI) do sistema.
- WPF usa double em vez de float e suporta uma gama mais ampla de cores
- O mecanismo gráfico WPF foi projetado de forma que possa aproveitar as vantagens do hardware gráfico quando disponível
Documentos e Impressão
O framework WPF oferece três tipos de documentos:
- Documentos fixos: Este tipo de documento suporta WYSIWApresentação YG.
- Documentos de fluxo: Permite ajustar e refluir o conteúdo com base em variáveis de tempo de execução, como tamanho da janela e resolução do dispositivo.
- Documentos XPS: Uma representação paginada de um documento eletrônico em formato baseado em XML. XPS é um formato de documento aberto e padronizado.
O WPF permite um melhor controle do sistema de impressão, incluindo impressão remota e filas de impressão. Além disso, documentos XPS podem ser impressos diretamente sem a necessidade de conversão para um formato de impressão específico.
Com os elementos básicos já explicados, vejamos como essas peças se encaixam internamente.
WPF Archiarquitetura
O WPF faz parte do framework .NET. Ele contém código gerenciado e não gerenciado. Os componentes importantes da arquitetura WPF são explicados na figura abaixo:
Componentes da arquitetura WPF
- Estrutura de apresentaçãoAjuda você a criar elementos de nível superior, como controles, estilos, layout, janelas, etc.
- ApresentaçãoNúcleoContém tipos básicos como UIElement e Visual, dos quais todos os controles e formas em PresentationFramework.dll são derivados.
- CLR: Torna o processo de desenvolvimento produtivo, oferecendo recursos como gerenciamento de memória, tratamento de erros, etc.
- Milcore: Milcore faz parte do código não gerenciado que oferece forte integração com DirectX.
- DirectX: É a API de baixo nível que renderiza os gráficos do WPF. O DirectX interage com os drivers e renderiza o conteúdo.
- Usuário32: É uma API central amplamente utilizada por muitos programas. Ela gerencia a memória e a separação de processos. O User32 ajuda a decidir qual elemento será posicionado em qual local da tela.
- do kernel: A entrada se origina como um sinal em um driver de dispositivo em modo kernel e é roteada para o processo correto conectando-se ao Windows kernel e User32.
Vinculação de dados WPF
A vinculação de dados é um dos conceitos mais poderosos do WPF. Em vez de escrever código que copia manualmente valores entre controles e objetos, você declara uma conexão em XAML e o WPF mantém ambos os lados sincronizados automaticamente. Por exemplo:
<TextBox Text="{Binding Path=StudentName, Mode=TwoWay}" />
O WPF suporta quatro modos de vinculação:
- Mão Única: O controle é atualizado quando os dados de origem são alterados.
- Bidirecional: As mudanças fluem em ambas as direções entre o controle e a fonte.
- Uma vez: O controle lê o valor de origem apenas uma vez, no momento do carregamento.
- OneWayToSource: O controle envia seu valor para a fonte, nunca o contrário.
A vinculação de dados também é o mecanismo por trás do padrão MVVM (Model-View-ViewModel), a arquitetura mais comum para aplicativos WPF profissionais, porque permite que a visualização permaneça em XAML enquanto a lógica reside em classes C# testáveis.
💡 Dica: Implemente a interface INotifyPropertyChanged em suas classes de dados. Sem ela, a interface do usuário não será atualizada quando os valores das propriedades forem alterados no código.
Instalação WPF
Consulte este link para instalar o WPF: https://www.guru99.com/download-install-visual-studio.html
A seguir, neste tutorial de aplicação WPF, construiremos nossa primeira aplicação WPF.
Como criar seu primeiro aplicativo WPF?
Neste exemplo de WPF, desenvolveremos uma aplicação WPF básica. Portanto, vamos começar a implementação simples seguindo os passos indicados no exemplo de aplicação WPF abaixo.
Passo 1) No Visual Studio, acesse Arquivo > Novo > Projeto
Passo 2) Na nova janela do projeto
- Selecione o aplicativo WPF
- Digite o nome como “MyWPF”
- clique em OK
Passo 3) O Visual Studio cria dois arquivos por padrão
- Arquivo XAML (MainWindow.xaml)
- Arquivo CS (MainWindow.xaml.cs)
O MainWindow.xaml tem
- Uma janela de design
- Arquivo XAML
Na janela XAML, as seguintes tags são escritas por padrão:
A Grade é o primeiro elemento por padrão.
O arquivo MainWindow.xaml.cs contém o código correspondente no arquivo de design XAML:
Passo 4) Na caixa de ferramentas,
- Arraste o textoBox elemento para a janela de design
- Um textoBox aparecerá na janela de design
- Você verá o código XAML para o texto.Box adicionado
Passo 5) Altere o texto para “Primeiro programa WPF”.
Passo 6) Clique no botão Iniciar
Passo 7) Você verá uma janela na saída.
Parabéns! Você projetou e criou seu primeiro aplicativo WPF. A seguir neste tutorial do WPF para iniciantes, veremos a diferença entre WPF e WinForms.
WPF x WinForms
| WPF | WinFormsGenericName |
|---|---|
| É uma estrutura mais recente, por isso está mais em sintonia com os padrões atuais. | É mais antigo, por isso é mais experimentado e testado. |
| É flexível e repleto de recursos. Você pode criar aplicativos muito sofisticados sem precisar programar ou comprar controles. | Não tão rico em recursos |
| Desenvolvedores de 3rd Os controles de festa estão focados na compatibilidade com o WPF, pois este é o futuro. | Existem muitos controles de terceiros que você pode comprar ou obter gratuitamente. |
| XAML permite criar e editar sua interface gráfica de usuário (GUI) facilmente. Ele possibilita que o trabalho seja dividido entre um designer (XAML) e um programador (C#, VB.NET, etc.). | In Windows Nos formulários, todo o código é escrito em um único lugar. |
| As habilidades em XAML são diretamente aplicáveis a frameworks mais recentes, como WinUI 3, .NET MAUI e Avalonia UI. | As habilidades em WinForms aplicam-se principalmente ao formato clássico. Windows Desenvolvimento para desktop. |
| O conjunto de controle in-box do WPF é limitado | Os controles na caixa são muito poderosos |
Tipo de aplicativos criados com WPF
- O WPF é usado para aplicações independentes. Windows Aplicações de desktop, como ferramentas empresariais de gestão de negócios, painéis de controle, terminais de negociação e software de design.
- Windows Formulários e páginas WPF podem coexistir no mesmo aplicativo
- Você pode desenvolver aplicativos com navegação no estilo de página/janela.
WPF no .NET moderno
Microsoft O WPF tornou-se de código aberto em dezembro de 2018 e, desde o .NET Core 3.0 (2019), o framework é distribuído com todas as versões modernas do .NET, até o .NET 10 inclusive. Migrar um aplicativo para o .NET moderno proporciona inicialização mais rápida, implantação mais simples por meio da publicação autocontida e acesso aos recursos atuais da linguagem C#, enquanto o modelo de programação do WPF permanece o mesmo.
WPF continua Windows-somente. Se você está escolhendo um framework para desktop hoje, esta comparação pode ajudar:
| Quadro | Melhor Para |
|---|---|
| WPF | Maduro, repleto de recursos Windows aplicativos de desktop com um ecossistema enorme |
| WindowsUI 3 | Novas aplicações voltadas para o moderno Windows 11. Aparência e sensação |
| .NET CORRIGIDO | Aplicações multiplataforma abrangendo Windows, macOS, Android, e iOS |
Como o WPF recebe manutenção ativa e está profundamente integrado ao software empresarial, aprendê-lo continua sendo um investimento prático. Depois de se sentir confortável criando esses aplicativos, vale a pena praticar os mais comuns. Perguntas de entrevista sobre WPF para consolidar conceitos como XAML, vinculação de dados e a árvore visual.









