ViewModels Avalonia com Zafiro
Esta skill fornece um conjunto de melhores práticas e padrões para criar ViewModels, Wizards e gerenciar navegação em aplicações Avalonia, aproveitando o poder do ReactiveUI e do kit de ferramentas Zafiro.
Princípios Fundamentais
- Abordagem Funcional-Reativa: Use ReactiveUI (
ReactiveObject,WhenAnyValue, etc.) para gerenciar estado e lógica. - Comandos Aprimorados: Utilize
IEnhancedCommandpara melhor gerenciamento de comandos, incluindo relatório de progresso e atributos de nome/texto. - Padrão Wizard: Implemente fluxos complexos usando
SlimWizardeWizardBuilderpara uma abordagem declarativa e mantível. - Descoberta Automática de Seções: Use o atributo
[Section]para registrar e descobrir seções de UI automaticamente. - Composição Limpa: Mapeie ViewModels para Views usando
DataTypeViewLocatore gerencie dependências naCompositionRoot.
Guias
- ViewModels & Comandos: Criando ViewModels robustos e gerenciando comandos.
- Wizards & Fluxos: Construindo wizards multi-etapa com
SlimWizard. - Navegação & Seções: Gerenciando navegação e UIs baseadas em seções.
- Composição & Mapeamento: Melhores práticas para conexão View-ViewModel e injeção de dependência.
Referência de Exemplo
Para implementações no mundo real, consulte o projeto Angor:
CreateProjectFlowV2.cs: Excelente exemplo de construção complexa de Wizard.HomeViewModel.cs: ViewModel de seção simples usando comandos funcional-reativos.