Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O código gerado está pronto para revisão, não automaticamente pronto para envio. Neste passo final, pratica a deteção de um erro plausível no framework e verifica o Task Tally para além da compilação.
Testa deliberadamente o assistente
Inicia uma nova conversa com o teu assistente para que não dependa das restrições dos prompts anteriores. Pergunte:
Add a confirmation dialog before deleting a task from my Windows XAML app.
Show only the using directives and the dialog construction code.
Um assistente sem restrições pode regressar:
using Windows.UI.Xaml.Controls;
var dialog = new ContentDialog
{
Title = "Delete task?",
PrimaryButtonText = "Delete",
CloseButtonText = "Cancel"
};
Este é um espaço de nomes da UWP.
ContentDialog também existe no WinUI 3, o que torna o erro fácil de passar despercebido numa revisão de código.
Para este projeto, o namespace deve ser:
using Microsoft.UI.Xaml.Controls;
var dialog = new ContentDialog
{
Title = "Delete task?",
PrimaryButtonText = "Delete",
CloseButtonText = "Cancel",
XamlRoot = this.XamlRoot
};
O URL de referência de ContentDialog no WinUI 3 inclui microsoft.ui.xaml.controls. A referência UWP ContentDialog utiliza windows.ui.xaml.controls.
É por isso que «o tipo existe na documentação do Windows» não é suficiente. Verifique a estrutura, o namespace, a versão e o modelo da aplicação.
Use uma verificação do framework para o código gerado
Quando o assistente adicionar uma API do Windows, analise-a com base nestas perguntas:
| Verificação | O que procurar |
|---|---|
| Framework | É a documentação do WinUI 3 e do SDK de Aplicações Windows? |
| Namespace | O código da interface usa Microsoft.UI.Xaml, e não Windows.UI.Xaml nem System.Windows? |
| Versão | A API está disponível na versão do SDK de Aplicações Windows referenciada pelo projeto? |
| Modelo de aplicativo | A API requer identidade de pacote, capacidade de aplicação ou inicialização de janelas? |
| Encadeamento | A chamada tem mesmo de ser executada na thread da interface do utilizador? Aguarda-se trabalho assíncrono? |
| Experiência do Utilizador | Existe algum controlo ou padrão do WinUI incorporado para o cenário? |
| Accessibility | A interface gerada tem nomes, etiquetas, acesso ao teclado e foco visível? |
| Evidence | Construíste, correste e exercitaste o caminho alterado? |
Pede ao assistente que forneça o URL do Learn que suporta a sua escolha, e depois abre o URL tu mesmo.
Verificar o Total de Tarefas
Faça uma verificação final:
- Apaga os dados locais da aplicação ou começa com uma instalação limpa. Confirme que o estado vazio é apresentado e que introduzir apenas espaços mantém Add task desativado.
- Adiciona várias tarefas, marca uma como concluída e apaga outra. Confirme que a contagem restante é atualizada e que o item correto foi removido.
- Reinicie o aplicativo. Confirme que os títulos das tarefas e os estados de conclusão foram restaurados.
- Adicione
if (System.Diagnostics.Debugger.IsAttached) throw new IOException("Test save failure.");como primeira linha deTaskStorage.SaveAsync, reconstrua e execute a aplicação no depurador. Aciona um guardado e confirma que oInfoBarindica a falha em vez de um guardado com êxito. Depois remove a condição temporária e reconstrói. - Navegue por todos os elementos interativos com Tab e Shift+Tab.
- Use um leitor de ecrã ou o Accessibility Insights para o Windows para inspecionar nomes, funções e a ordem de foco.
- Redimensione a aplicação, teste os temas claro, escuro e de contraste, e compile para x64 sem avisos do compilador, de XAML, de associação de dados ou de análise.
Saiba mais: Visão geral de acessibilidade e testes de acessibilidade.
Refinar o prompt, não apenas o código
Se um teste falhar, guarde tanto a correção como a razão no seu próximo prompt:
The generated code used Windows.UI.Xaml.Controls, which is the UWP
namespace. This project is WinUI 3. Replace it with the corresponding
Microsoft.UI.Xaml API, verify the API in the Windows App SDK reference,
build the x64 project, and explain why the original namespace was wrong.
Isto fornece ao assistente provas úteis e reforça o limite do projeto. Para um projeto de maior duração, coloque restrições estáveis como o framework, o modelo de empacotamento, a arquitetura de destino e o comando de compilação nas instruções do repositório que o seu assistente de programação lê.
Passos seguintes
Criaste uma pequena aplicação WinUI 3 e praticaste um fluxo de trabalho que podes reutilizar:
Peça → Gerar → Build → Inspecionar → Verificar → Refinar
Continuar com:
- Crie a sua primeira aplicação WinUI para uma introdução determinística e focada em código sobre XAML, navegação e armazenamento de ficheiros.
- Ligação de dados, injeção de dependências e testes unitários no WinUI para uma arquitetura MVVM maior.
- Galeria WinUI 3 para verificar controlos e padrões de interação numa amostra em execução.
- Referência à API do SDK de Aplicações Windows para confirmar as escolhas de API geradas.
Windows developer