0
votes

Utilisation d'une barre de commande à l'intérieur du volet Navigise Navigation UWP

J'ai du mal à créer l'interface utilisateur que j'ai dans ma tête et à ce jour a été assez infructueuse.

J'essaie de créer une page principale qui héberge mon Naview et à l'intérieur de Naview, je souhaite avoir une barre de commande qui contrôlera lesquelles Navishatems est visible. J'ai créé une image rapide de ce que j'essaie d'atteindre.

Dans mon exemple, j'ai le bouton d'accueil de la barre de commande activée qui affiche

  • NAV Item Header
  • Navigation Point 1
  • etc ...

     Entrez la description de l'image ici

    Je veux pouvoir cliquer sur Documents et avoir le commutateur indicateur sur les documents et masquer les éléments de navigation correspondant à la maison et afficher les éléments de navigation correspondant aux documents.

    Enfin, je souhaite que la barre de commande s'effondre lorsque le volet NavView est compact, mais l'utilisateur doit pouvoir cliquer sur le bouton de la barre de commande et développer la barre de commande pour changer entre la maison, les documents, etc.

    Vraiment rechercher une aide / conseil pour les meilleurs endroits pour commencer.

    J'apprends toujours les commandes UWP et XAML.


0 commentaires

3 Réponses :


1
votes

Je pense que vous devriez utiliser un SplitView au lieu de NavigationView à l'extérieur, puis, puis, À l'intérieur du volet du SplitView , utilisez un NavigationView avec un aspect pour obtenir ce que vous souhaitez.

Les points de clé sont:

  1. Gardez le NAVIGATIONVIEW 'S PANEDISPAYMODEMODE gaucher
  2. n'utilise pas le panetogglebutton dans le NavigationView pour empêcher Utilisateur de la modification de PANEDISPLAYMODE En cliquant dessus, utilisez une sur mesure pour ouvrir et fermer le volet.
  3. Modifier le PANEDISPLAYMODE du NAVIGATIONVIEW TO TOP Quand Le volet s'ouvre et le backt sur gaucheCompact à nouveau lorsque le volet se ferme.

    Voici ce que j'ai obtenu avec NavigationView Intérieur SPLITVIEW.PANE :

     Entrez la description de l'image ici < / a>

    Vous pouvez le décorer et le rendre plus satisfaisant visuellement, comme l'ajout d'un autosuggestbox réglage de paramètres , mais c'est la base de base. BTW, n'utilisez pas le bouton NAVIGATIONVIEW SE Réglage , car je l'ai vu se comporter étrangement ici.

    xaml: xxx

    code derrière: xxx

    espère que cela aide.


1 commentaires

Merci, cela a l'air génial et c'est ce que je suis après, je pense qu'une chose veillera à ce que les boutons ne sauvent pas trop de Compact à développé ... Il se peut que je pense qu'un peu plus sur la façon dont je veux atteindre cet. Mon idée initiale était que la barre de commande de Compact réduirait à un seul bouton pour garder tout ce qui est en ligne, mais je ressemble également à la verticale définie.



1
votes

La première chose est de décider si vous souhaitez utiliser NavigationView . Dans XAML Les commandes sont définies par leur comportement (propriétés et méthodes qu'elles implémentent), tandis que l'apparence visuelle n'est pas pertinente et peut être complètement modifiée. Si NavigationView est correct pour votre tâche, vous pouvez modifier son style partiellement ou totalement - dans XAML Editor Cliquez avec le bouton droit de la suite, puis sur Modifier le modèle> Modifier une copie. Vous obtiendrez maintenant la définition de style xaml qui définit l'apparence de NavigationView , c'est l'endroit où commencer.

Mais il pourrait être très bien que vous ne puissiez pas utiliser NavigationView et que commencer par SplitView pourrait être une meilleure idée car @muzib a dit.

Je ne sais pas si c'est une bonne idée d'apprentissage de XAML, mais vous apprendrez une chose - XAML peut être personnalisé dans la grande mesure, mais cela peut également être une tâche très complexe.


1 commentaires

Merci, oui, le problème avec NavigationView est le NavigationViewItem dispose d'un comportement de mots lors de l'essai de placer une barre de commande à l'intérieur. J'ai essayé de créer ma propre navigation personnaliséeViewItem mais j'ai eu peu de succès, je trouve que la SplitView est beaucoup plus facile à comprendre et à personnaliser afin que cela puisse peut-être aller. Merci!



0
votes

Je pense qu'il y a quelques problèmes du point de vue UX.

  1. Tous les éléments de navigation ne sont pas affichés à la fois et un utilisé doit développer le menu pour changer entre les ensembles d'éléments.
  2. Les positions des éléments de navigation changent lorsque le volet de navigation est élargi. Actuellement, la manière dont le contrôle fonctionne, c'est que le volet se développe pour afficher le texte du bouton. Avec votre approche suggérée, les articles sauteront sur Open.

    Je me demande si vous seriez plus facile d'avoir un volet latéral fixe avec les commandes présentées comme si vous voulez et sans bouton de hamburger, etc. Ce n'est pas si inhabituel, l'application Paramètres le fait.

    Si vous allez avec une vitre de largeur fixe, je vous recommande de consulter le XAML qui définit le contrôle NavigationView, qui peut être trouvé dans C: \ Program Files (x86) \ Kits Windows \ 10 \ DesignTemTtime \ CommonConfiguration \ Neutre \ uap \ 10.0.17763.0 \ generic \ generic.xaml (selon la version de votre SDK). Ensuite, vous pouvez vous assurer d'utiliser les ressources thématiques utilisées par les fenêtres de sorte que votre contrôle personnalisé ait un aspect et une sensation similaire.


0 commentaires