Utilização da camada Visual em aplicações de ambiente de trabalho

Agora pode usar APIs do Windows Runtime em aplicações de ambiente de trabalho não UWP para melhorar a aparência, sensação e funcionalidade das suas aplicações WPF, Windows Forms e C++ Win32, e tirar partido das mais recentes funcionalidades da interface do Windows que só estão disponíveis via UWP.

Para muitos cenários, pode usar as ilhas XAML para adicionar controlos XAML modernos à sua aplicação. No entanto, quando precisas de criar experiências personalizadas que vão além dos controlos incorporados, podes aceder às APIs da camada Visual.

A camada Visual fornece uma API de alto desempenho, em modo retido, para gráficos, efeitos e animações. É a base para a interface de utilizador em todos os dispositivos Windows. Os controlos UWP XAML são construídos sobre a camada Visual, permitindo muitos aspetos do Sistema de Design Fluente, como Luz, Profundidade, Movimento, Material e Escala.

Vídeo curto que mostra uma interface de utilizador criada com a camada visual.

Interface de utilizador criada com a camada visual

Crie uma interface visualmente apelativa em qualquer aplicação Windows

A camada Visual permite-lhe criar experiências envolventes usando composição leve de conteúdos desenhados personalizados (visuais) e aplicando animações, efeitos e manipulações poderosas nesses objetos na sua aplicação. A camada Visual não substitui qualquer framework de interface de utilizador existente; Em vez disso, é um complemento valioso a esses frameworks.

Pode usar a camada Visual para dar à sua aplicação um aspeto e sensação únicos, e estabelecer uma identidade que a diferencie das outras. Também permite os princípios do Fluent Design, que são concebidos para tornar as suas aplicações mais fáceis de usar, atraindo mais envolvimento dos utilizadores. Por exemplo, pode usá-lo para criar pistas visuais e transições animadas de ecrã que mostrem as relações entre os itens no ecrã.

Características da camada visual

Pincéis

Os pincéis de composição permitem-te pintar objetos da interface com cores sólidas, gradientes, imagens, vídeos, efeitos complexos e muito mais.

Um ovo criado com o Criador de Materiais

Um ovo criado com a aplicação demo Material Creator.

Efeitos

Os efeitos de composição incluem luz, sombra e uma lista de efeitos de filtro. Os elementos podem ser animados, personalizados e encadeados, e depois aplicados diretamente aos visuais. O SceneLightingEffect pode ser combinado com iluminação de composição para criar atmosfera, profundidade e materiais.

Luzes e material

Luzes e material demonstrados na galeria de amostras do Windows UI Composition.

Animações

As animações de composição são executadas diretamente no processo do compositor, independentemente do thread da interface. Isto garante fluidez e escala, permitindo que possas executar um grande número de animações explícitas e simultâneas. Para além das animações KeyFrame familiares para gerar alterações de propriedades ao longo do tempo, pode usar expressões para estabelecer relações matemáticas entre diferentes propriedades, incluindo a entrada do utilizador. As animações baseadas em input permitem-lhe criar uma interface que responde de forma dinâmica e fluida às entradas do utilizador, o que pode resultar num maior envolvimento do utilizador.

Vídeo curto de outra interface de utilizador criada com a camada visual.

Movimento demonstrado na galeria de exemplos do UI Composition do Windows.

Mantém a tua base de código existente e adota de forma incremental

O código nas suas aplicações existentes representa um investimento significativo que não quer perder. Podes migrar ilhas de conteúdo para usar a camada Visual e manter o resto da interface no seu framework existente. Isto significa que pode fazer atualizações e melhorias significativas na interface da sua aplicação sem necessidade de fazer alterações extensas à sua base de código existente.

Exemplos e tutoriais

Aprenda a usar a camada Visual nas suas aplicações experimentando as nossas amostras. Estes exemplos e tutoriais ajudam-no a começar a usar a camada Visual e mostram como funcionam as funcionalidades.

Win32

Windows Forms

WPF

Limitações

Embora muitas funcionalidades da Camada Visual funcionem da mesma forma quando alojadas numa aplicação de ambiente de trabalho como numa aplicação UWP, algumas funcionalidades têm limitações. Aqui estão algumas das limitações a ter em conta:

  • As cadeias de efeitos dependem do Win2D para as descrições dos efeitos. O pacote NuGet Win2D não é suportado em aplicações de ambiente de trabalho, por isso terias de o recompilar a partir do código-fonte código.
  • Para realizar testes de acerto, precisas fazer cálculos de limites percorrendo a árvore visual por ti mesmo. Isto é igual à Visual Layer no UWP, exceto que neste caso não há nenhum elemento XAML ao qual possas facilmente ligar para testes de acerto.
  • A Camada Visual não tem uma primitiva para renderizar texto.
  • Quando duas tecnologias de interface diferentes são usadas em conjunto, como o WPF e a Visual Layer, cada uma é responsável por desenhar os seus próprios píxeis no ecrã e não pode partilhar píxeis. Como resultado, o conteúdo da Camada Visual é sempre renderizado por cima de outro conteúdo da interface. (Isto é conhecido como a questão do espaço aéreo.) Pode ser necessário fazer programação e testes extra para garantir que o conteúdo da camada visual é redimensionado com a interface do host e não oculta outro conteúdo.
  • O conteúdo alojado numa aplicação desktop não redimensiona ou escala automaticamente para DPI. Podem ser necessários passos extra para garantir que o seu conteúdo gere as alterações de DPI. (Consulte os tutoriais específicos da plataforma para mais informações.)

Recursos adicionais

Referência da API