Tutorial WPF para iniciantes: como criar um aplicativo [exemplo]
O que é WPF?
WPF é uma estrutura para construir Windows aplicações que permitem aos usuários desenvolver interfaces de usuário ricas com animações 3D e cores ricas com menos complexidade de código. É um mecanismo de renderização baseado em vetor que usa aceleração de hardware de placas gráficas modernas, o que torna o Ul mais rápido e altamente escalável. WPF significa Windows Apresentação Foundation.
O WPF pode ser considerado uma evolução do WinForms. Produz sistema de exibição gráfica fácil de operar para Windows. Ele oferece fácil separação entre UI e lógica de negócios.
Os aplicativos WPF podem ser implantados em seu sistema como um programa de desktop independente ou hospedados como um objeto incorporado em um site.
Por que WPF?
Há muitos motivos para usar a plataforma WPF, alguns dos mais importantes são-
- Uma plataforma ideal para usar se você precisar lidar com vários tipos de mídia
- O WPF permite que você crie uma interface de usuário com skin. Também ajuda quando você precisa carregar parte da IU ou deseja 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, para que aplicativos desenvolvidos usando WMF possam ser executados em dispositivos móveis ou em um monitor de 20 polegadas
- WPF baseia-se em DirectX em vez de WinAPI. Oferece o sistema gráfico do computador cliente. Portanto, oferecendo maior poder de renderização gráfica
- Suporta um modelo de documento de fluxo que permite a qualidade de “publicação eletrônica” do layout
- Aparência e comportamento estão fracamente acoplados. Isso permite que designers e desenvolvedores trabalhem em dois modelos separados
- Na estrutura WMF você pode projetar ferramentas graficamente em documentos XML simples em vez de analisar código
- Permite usar aceleração de hardware para desenhar a GUI, para melhor desempenho
História do WPF
Windows 1.0 foi o primeiro ambiente GUI do Microsoft. Funciona como uma camada sobre o DOS, contando com os sistemas GDI e USER para interface gráfica e de usuário.
DirectX foi lançado no ano de 1995, como um sistema gráfico de alto desempenho. Foi voltado para jogos e outros ambientes relacionados a gráficos. Ao longo dos anos, muitas versões foram lançadas com Directx9 que fornecem uma biblioteca para usar com código mange.Net.
Versão WPF | Ano de lançamento | Versão .Net | Versão do Visual Studio | Recursos |
---|---|---|---|---|
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 aplicativo, vinculação, controles, documentos, anotações e elementos Ul 3-D. |
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, DatePicker. Multitoque e manipulação |
4.5 | 2012 | 4.5 | EUA 2012 | Tempo de configuração mais rápido e melhor desempenho para efeitos Bitmap. Novos controles: Calendário. DataGrid, DatePicker. Multitoque e manipulação |
4.5.1 | 2013 | 4.5.1 | EUA 2013 | Novo controle da faixa de opções Nova interface INotifyDataErrorlnfo |
4.5.2 | 2014 | 4.5.2 | NA | Nenhuma mudança importante Nenhuma mudança importante |
4.6 | 2015 | 4.6 | EUA 2015 | Suporte transparente para janela infantil Melhorias em HDPI e Touch |
A versão estável mais recente do WPF 5.0.6, lançada em abril de 2021.
Recursos do WPF
- 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
- Gráficos baseados em vetores permitem dimensionar seu aplicativo sem perda de qualidade
- WPF suporta 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 WPF ajuda você a aproveitar as vantagens da 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
- No WPF, um estilo é um conjunto de propriedades que devem ser aplicadas ao conteúdo usado para renderização visual.
- Os modelos no WPF ajudam você a alterar o Ul do seu documento
- Os comandos são versões de eventos mais abstratas e pouco acopladas
- O suporte WPF para comandos reduz a quantidade de código que precisamos escrever
Próximo neste WPF Tutorial de C#, aprenderemos sobre os principais tipos e 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, conhecidas como classes de elementos base. Ele fornece 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 montados em uma hierarquia de árvore. É chamada de árvore de elementos. A árvore de elementos é uma forma intuitiva de fazer o layout da interface do usuário. É uma estrutura que permite obter o recurso de serviços de UI poderosos.
XAML
Extensible Application Markup Language, chamada “XAML” ou “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>
Vantagem de usar a linguagem XAML:
- XAML separando 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 de maneira eficaz com ferramentas
Controles
A estrutura WPF oferece suporte a 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 TabContro, ScrollBar e GroupBox
- Layouts como DocPanel, 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.
O modelo de dados permite controlar a visualização padrão dos dados vinculados. Com a ajuda de temas, você pode visualizar facilmente os estilos do sistema operacional.
Layout e Painéis
O layout ajuda no posicionamento adequado e no controle de dimensionamento. Faz parte do processo de composição da apresentação para o usuário. A estrutura WPF facilita o processo de layout e oferece melhor adaptabilidade da aparência da UI.
A infraestrutura de layout é oferecida por várias classes: 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid e 5) Canvas
Gráficos
WPF fornece um sistema gráfico aprimorado como
- O WPF usa unidades independentes de dispositivo, permitindo resolução e independência de dispositivo. Portanto, cada pixel, que é independente do dispositivo, é dimensionado automaticamente com o sistema de configuração de pontos por polegada
- 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
A estrutura 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 papel eletrônico em formato baseado em XML. XPS é um formato de documento de código aberto e multiplataforma.
WPF permite melhor controle sobre o sistema de impressão. Inclui impressão remota e filas. Além disso, os documentos XPS podem ser impressos diretamente, sem convertê-los em formato de impressão.
WPF Archiarquitetura
WPF faz parte da estrutura .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ção: ajuda você a criar elementos de nível superior, como controles, estilos, layout, janelas, etc.
- ApresentaçãoNúcleo: contém tipos básicos como UIElement, Visual de todos os controles e formas derivadas de PresentationFramework.dll.
- 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 permite renderizar gráficos do WPF. As conversas DirectX interagem com os drivers e renderizam o conteúdo.
- Usuário32: É uma API central amplamente usada por muitos programas. Ele gerencia a memória e a separação de processos. User32 ajuda você a decidir qual elemento será colocado na tela.
- do kernel: A entrada se origina como um sinal em um driver de dispositivo no modo kernel e é roteada para o processo correto e conectando-se com Windows kernel e User32.
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 nosso primeiro WPF.
Como criar seu primeiro aplicativo WPF?
Neste exemplo WPF, desenvolveremos um aplicativo WPF básico. Então, vamos começar a implementação simples seguindo as etapas fornecidas nos exemplos de aplicativos WPF abaixo.
Passo 1) No Visual Studio vá em Arquivo > 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
Nas janelas XAML, as tags a seguir são gravadas como padrão
A Grade é o primeiro elemento por padrão.
O MainWindow.xaml.cs contém o código correspondente por trás do arquivo de design XAML
Passo 4) Na caixa de ferramentas,
- Arrastar textoBox elemento para a janela de design
- Um textoBox aparecerá na janela de design
- Você verá o código XAML para TextoBox 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 rico em recursos. Você pode projetar aplicativos muito ricos sem codificar ou comprar controles. | Não tão rico em recursos |
Desenvolvedores de 3rd os controles partidários estão focados na compatibilidade com o WPF, pois é o futuro. | Existem muitos controles de terceiros que você pode comprar ou obter gratuitamente. |
XAML permite criar e editar sua GUI facilmente. Permite que o trabalho seja dividido entre um designer (XAML) e um programador (C#, ASP.net, etc.). | In Windows Forma todo o código escrito em um só lugar. |
WPF pode criar interfaces de usuário para ambos Windows aplicativos e aplicativos da web como Silverlight e XBAP. | Não existe esse apoio |
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 está tentando substituir os formulários da web e os formulários do Windows – os aplicativos podem ser criados para serem executados em um navegador ou em uma janela independente
- Windows Formulários e páginas WPF podem coexistir no mesmo aplicativo
- Você pode desenvolver aplicativos de página/janela
Guia rápido
- O formulário completo do WPF é Windows Apresentação Foundation
- É uma plataforma ideal para usar se você precisar lidar com vários tipos de mídia
- Windows 1.0 foi o primeiro ambiente GUI do Microsoft que estava trabalhando em DOS e contando com os sistemas GDI e USER
- WPF em .NET oferece interoperabilidade com Windows Controles de formulários
- WPF são divididos em quatro tipos diferentes, como UIElement, FrameworkElement ContentElement e FrameworkContentElement
- Os componentes mais importantes de parte da arquitetura WPF são PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 e Kernel
- WPF é uma estrutura mais recente que compara WinForms, por isso está mais em sintonia com os padrões atuais
- Windows Formulários e páginas WPF podem coexistir no mesmo aplicativo