2014-05-23 3 views
-1

헤더 사용자 컨트롤은 Windows Phone 8 앱의 모든 페이지 상단에서 사용할 수 있어야합니다. 모든 페이지에서이 컨트롤을 선언하고 싶지 않습니다. 기능은 다른 페이지에서 동일하게 될 것입니다. 응용 프로그램 막대과 같을 것입니다. 그렇다면 위에서 언급 한 목표를 달성 할 수 있도록이 컨트롤을 어디에 선언하거나 정의해야합니까?모든 페이지에 대한 공통 컨트롤

+0

당신이하고자하는 것을 알려주는 것이 좋습니다. 질문하십시오. [좋은 질문을하는 법] – 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에 별도로 추가해야합니다. 모든 페이지에 대해 해당 막대를 하나만 사용할 수있는 직접적인 방법은 없습니다. –

관련 문제