2014-05-23 3 views
-1

Je voulais faire Header User Control qui devrait être disponible sur le dessus de toutes les pages dans Windows Phone 8 app.Je ne veux pas déclarer ce contrôle sur toutes les pages et aussi son la fonctionnalité sera la même sur différentes pages. Ce serait comme barre d'application. Alors, où devrais-je déclarer ou définir ce contrôle de sorte que les objectifs mentionnés ci-dessus puissent être atteints?Contrôle commun pour toutes les pages

+0

Il est bon de nous dire ce que vous avez l'intention de faire. S'il vous plaît poser une question. [Comment poser une bonne question] (http://stackoverflow.com/help/how-to-ask) – wonko79

Répondre

2

Très bien. Dans ce cas, vous pouvez créer un contrôle utilisateur personnalisé. Créez votre barre avec toutes les choses nécessaires (boutons, images, etc). Ajoutez tous les gestionnaires dans ce contrôle utilisateur lui-même. Maintenant que vous avez ce contrôle prêt. Vous pouvez simplement ajouter ce contrôle comme n'importe quel autre contrôle sur une page xaml où vous souhaitez l'avoir. Il faudra juste que votre espace de noms soit présent dans le xaml.

par exemple:

xmlns:animateMenu="clr-namespace:AppNameSpace.Presentation" 

Cet espace de noms, une fois ajouté vous permettra d'accéder à votre contrôle utilisateur partout. l'utiliser de cette façon:

<animateMenu:Menu x:Name="MyMenu"/> 

EDIT code à placer dans app.xaml

<shell:ApplicationBar x:Key="CommonAppBar" IsVisible="True"> 
      <shell:ApplicationBarIconButton IconUri="/Resources/Images/Appbar.btn1.png" Text="home" x:Name="abibtnHome" Click="ApplicationBarIconButton_Click"/> 
      <shell:ApplicationBarIconButton IconUri="/Resources/Images/Appbar.btn2.png" Text="search" x:Name="abibtnSearch" Click="ApplicationBarIconButton_Click"/> 
      <shell:ApplicationBarIconButton IconUri="/Resources/Images/Appbar.btn3.png" Text="call" x:Name="abibtnCall" Click="ApplicationBarIconButton_Click"/> 


      <!-- added for menus in the app bar--> 
      <shell:ApplicationBar.MenuItems>      
       <shell:ApplicationBarMenuItem x:Name="menuitemSettings" Text="menu1" Click="menu1_Click"/> 
       <shell:ApplicationBarMenuItem x:Name="menuitemAbout" Text="menu2" Click="menu2_Click"/> 
      </shell:ApplicationBar.MenuItems> 
</shell:ApplicationBar> 

Hope this helps. Merci et à la vôtre.

+0

Assurez-vous simplement que vous ne voulez pas que des fonctionnalités spécifiques à une page se produisent sur ce type de menu. Par exemple, assurez-vous que sur toutes les pages, la barre d'application se comportera de la même manière quelle que soit la page sur laquelle vous vous trouvez, actuellement. Sinon, vous devrez également gérer et gérer du code sur votre page xaml. –

+0

Je ne veux pas faire ces instances sur chaque page.Il serait comme je le déclare quelque part et il va propager à toutes les pages par ses propres – loop

+0

Même pour la barre d'application par défaut, Il doit être placé séparément sur chaque page. Je peux vous suggérer un autre morceau de code. Vous pouvez avoir ce code dans app.xaml et avoir vos gestionnaires dans app.xaml.cs. Cependant, vous devrez l'ajouter séparément dans tous vos xamls. Je ne vois pas de façon directe que vous puissiez avoir une seule de ces barres fonctionnant pour toutes les pages. –

Questions connexes