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.
Este tutorial demonstra como usar navegação e ligação de dados numa aplicação WinUI 3 usando XAML e C#.
Neste tutorial, aprenderás como:
- Ative
NavigationCacheModepara manter a mesma instância daPagedurante a navegação. - Implemente a
INotifyPropertyChangedinterface para informar um data binding de que os dados foram atualizados. - Passe objetos entre páginas ao navegar.
Este tutorial aperfeiçoa a aplicação de exemplo WinUI Notes apresentada no tutorial Criar a sua primeira aplicação WinUI 3. Se já completaste esse tutorial, podes continuar a trabalhar com o mesmo código. Ou pode descarregar o código completo desse tutorial a partir do repositório do GitHub e usá-lo como ponto de partida para este tutorial.
Em qualquer dos casos, deves estar familiarizado com os conceitos apresentados e com o código criado no tutorial Cria a tua primeira aplicação WinUI 3 .
Sugestão
Também pode descarregar ou ver o código completo deste tutorial a partir do repositório do GitHub no WinUI Notes parte 2. Para ver as diferenças entre os pontos inicial e final do projeto, consulte este commit: atualizações para a parte 2.
Background
Para manter as coisas simples e introduzir alguns conceitos fundamentais, o tutorial da aplicação Crie o teu primeiro WinUI 3 focou-se na simplicidade em vez da eficiência. Portanto, embora a aplicação funcione, há algumas coisas que podem ser melhoradas.
A questão principal está relacionada com a navegação entre páginas na aplicação. Por defeito, as instâncias de Página não são guardadas durante a navegação, por isso cada vez que navegas para um Page, cria-se uma nova instância. Na aplicação WinUI Notes, o notesModel objeto é criado no AllNotesPage construtor e é preenchido lendo todas as notas do sistema de ficheiros.
public sealed partial class AllNotesPage : Page
{
private AllNotes notesModel = new AllNotes();
...
}
Cada vez que navegas de NotePage para AllNotesPage, o notesModel é recriado e todas as notas são lidas novamente a partir do sistema de ficheiros. Esta ineficiência normalmente não é notória numa aplicação de amostras pequena e sem muitos dados, mas seria inaceitável, por exemplo, numa aplicação de fotos que estivesse a ler milhares de imagens grandes do sistema de ficheiros.
Para resolver este problema, este tutorial vai cobrir estes passos:
- Primeiro, certifique-se de que a
Pageinstância está em cache para que, na navegação, seja reutilizada e não recriada. - Atualize a
Noteclasse para que as propriedades atribuídas sejam notificadas quando houver alterações no texto da nota. - Certifique-se de que o
notesModelé devidamente atualizado com as notas guardadas ou eliminadas, pois não é recriado sempre que se navega.
Sugestão
Você frequentemente consultará documentos de referência de API e documentos conceituais ao criar aplicativos do Windows. Neste tutorial, você verá links embutidos no texto e em grupos rotulados como "Saiba mais nos documentos:". Estes links são opcionais; Você não precisa segui-los para concluir o tutorial. Eles são fornecidos caso você queira anotar onde encontrar as informações necessárias quando começar a criar seus próprios aplicativos.
Windows developer