2014-05-23 69 views
-1

我想讓頭部用戶控件應該在windows phone 8應用程序的所有頁面的頂部可用。我不想在所有頁面上聲明此控件,功能將在不同的頁面上相同。 它會像應用程序欄。那麼,我應該在哪裏聲明或定義這種控制,以便達到上述目標?所有頁面的公共控制

+0

很高興告訴我們你打算做什麼。請問一個問題。 [如何問一個好問題](http://stackoverflow.com/help/how-to-ask) – wonko79

回答

2

太好了。在這種情況下,您可以創建一個自定義用戶控件。用所有必要的東西(按鈕,圖像等)創建你的酒吧。 在此用戶控件本身中添加所有處理程序。現在你已經準備好了這個控制。您可以將此控件像任何其他控件一樣添加到您希望擁有它的xaml頁面上。它只需要你的名字空間出現在xaml中。

如:

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

這個命名空間添加一次就會讓你隨時隨地訪問您的用戶控制。使用 這樣說:

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

編輯 代碼中的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> 

希望這有助於放置。 感謝和歡呼。

+0

只要確保你不希望任何頁面特定的功能發生在這個應用程序欄類型的菜單。即確保在所有頁面上,他的應用欄的行爲方式與目前的頁面無關。否則,您還需要處理和管理xaml頁面中的一些代碼。 –

+0

我不想在每個頁面上都創建這些實例。它會像我在某處宣稱的那樣,它會自動向所有頁面推送 – loop

+0

即使對於默認應用欄,它也需要單獨放置在每一頁上。我可以建議你另一段代碼。你可以在你的app.xaml中包含這段代碼,並在app.xaml.cs中包含你的處理程序。 但是,您需要在所有xamls中單獨添加它。我沒有看到任何直接的方式,只有一個欄可以在所有頁面上工作。 –

相關問題