Tutorial WPF para iniciantes: como criar um aplicativo [exemplo]

O que é WPF?

WPF é uma estrutura para construir Windows aplicativos que permitem aos usuários desenvolver interfaces de usuário ricas com animações 3D e cores ricas com menos código.plexcidade. É 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 Fundação de apresentação.

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 que você use aceleração de hardware para drawing 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 Visual Studio Versão Funcionalidades
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

Recursos do WPF
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 Visualizaçãobox
  • Diálogo comum boxes 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 do WPF archiA arquitetura é explicada na figura abaixo:

WPF Archiarquitetura
WPF Archiarquitetura

Componentes do WPF archiarquitetura

  • Estrutura de apresentação: ajuda você a criar elementos de nível superior, como controles, estilos, layout, windows, 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 seguindowing as etapas fornecidas nos exemplos de aplicativos WPF abaixo.

Passo 1) In Visual Studio Vá em Arquivo > Projeto

Crie seu primeiro aplicativo WPF

Passo 2) Na nova janela do projeto

  1. Selecione o aplicativo WPF
  2. Digite o nome como “MyWPF”
  3. clique em OK

Crie seu primeiro aplicativo WPF

Passo 3) Visual Studio cria dois arquivos por padrão

  • Arquivo XAML (MainWindow.xaml)
  • Arquivo CS (MainWindow.xaml.cs)

Crie seu primeiro aplicativo WPF

O MainWindow.xaml tem

  1. Uma janela de design
  2. Arquivo XAML

Crie seu primeiro aplicativo WPF

No XAML windows, o seguintewing tags são escritas como padrão

Crie seu primeiro aplicativo WPF

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

Crie seu primeiro aplicativo WPF

Passo 4) Na ferramentabox,

  1. Arrastar textoBox elemento para a janela de design
  2. Um textoBox aparecerá na janela de design
  3. Você verá o código XAML para TextoBox adicionado

Crie seu primeiro aplicativo WPF

Passo 5) Altere o texto para “Primeiro programa WPF”.

Crie seu primeiro aplicativo WPF

Passo 6) Clique no botão Iniciar

Crie seu primeiro aplicativo WPF

Passo 7) Você verá uma janela na saída

Crie seu primeiro aplicativo WPF

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
As informações do WPFbox conjunto de controle é limitado Em-box os controles são muito poderosos

Tipo de aplicativos criados com WPF

  • O WPF está tentando substituir os webforms e windows formulários – 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 Fundação de Apresentação
  • É 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 do WPF archiestruturas são PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 e Kernel
  • WPF é uma composição de estrutura mais recenteares WinForms, por isso está mais em sintonia com os padrões atuais
  • Windows Formulários e páginas WPF podem coexistir no mesmo aplicativo