2009-08-23 4 views
1

Lors de la création d'une application de navigation dans WPF, comment puis-je créer un style et une disposition personnalisés pour la fenêtre? Est-ce possible? Dites par exemple, ajouter un panneau sur le côté de la fenêtre avec des liens vers toutes les pages de l'application. Lorsque j'essaie d'ajouter des contrôles/contenus à la NavigationWindow, le message suivant s'affiche:OverrideDefaultStyle dans WPF NavigationWindow?

"Le type" NavigationWindow "ne prend pas en charge le contenu direct."

Merci

Répondre

0

Pour personnaliser la fenêtre d'accueil dans une application de style de navigation, il suffit de vous faire une application WPF normale, avec une fenêtre normale et déposez un contrôle Frame dans cette fenêtre. Définissez la Source du cadre sur la page que vous voulez que l'application commence et il se comportera comme votre application de navigation standard, sauf que vous pourrez personnaliser la fenêtre avec d'autres contrôles, etc.

+0

Merci. Lorsque je crée une fenêtre de navigation, il y a des commandes de retour et d'historique. Puis-je toujours obtenir cette fonctionnalité avec la solution que vous avez décrite? –

+0

Bien sûr - le contrôle Frame les a par défaut. Vous devez définir la propriété ShowsNavigationUI sur false pour qu'ils ne s'affichent pas *. –

1

Je ne suis pas Bien sûr, je comprends la suggestion de commencer avec une fenêtre normale, en ajoutant un cadre, puis en activant la propriété ShowsNavigationUI. C'est essentiellement ce que le NavigationWindow est; vous pourriez aussi bien commencer là. Les boutons Avant/Arrière qui apparaissent dans le Cadre apparaîtront dans la fenêtre de contenu. Oui, cela fonctionnera, mais il semblera également très étrange car la plupart des utilisateurs voudront voir les contrôles de navigation dans le coin supérieur gauche de votre cadre.

Trois options sont disponibles. Le premier consiste à simplement ré-habiller la NavigationWindow. Vous pouvez trouver les modèles WPF d'origine pour la NavigationWindow en ligne. Si vous avez des problèmes, je peux trouver un lien pour vous. Vous pouvez les utiliser comme point de départ et ajouter vos propres contrôles au cadre. La partie la plus importante de la création de votre propre modèle NavigationWindow consiste à inclure un ContentPresenter dans le nom "PART_WinNavCP".

La deuxième option consiste à utiliser Expression Blend pour extraire les éléments de NavigationWindow pour vous. Mais encore une fois, vous devrez assembler toutes les pièces une fois que vous les aurez générées.

La troisième option est celle que j'ai créée. Il a été créé par moi parce que j'ai rencontré les mêmes limitations que vous avez courues. Si vous voulez mettre l'accent sur la création d'une véritable interface de type de navigation sans essayer de Reskin tout le contrôle, s'il vous plaît consulter:

http://www.teraque.com/products/explorer-chrome-suite/

J'ai fourni une démo gratuite. Sortez-le pour un tour. Même si vous ne voulez pas acheter le produit, je peux vous donner des indications si c'est ce que vous essayez d'accomplir.

Sincèrement,

Donald Roy Airey

[email protected]