내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone의 단일 피벗 컨트롤에서 다른 앱 바를 사용하는 방법

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

이 항목에서는 사용자가 피벗 "페이지"를 밀 때 응용프로그램 모음을 변경하는 방법을 보여 줍니다. 피벗 "페이지"는 실제로 단일 페이지의 단일 컨트롤이므로, 다른 피벗 "페이지"도 자동으로 동일한 응용프로그램 모음을 사용합니다. 이러한 편리한 동작은 일반적으로 개발자가 원하는 것이지만, 그렇지 않은 경우에는 사용자가 피벗 "페이지"를 밀 때 선택 변경 이벤트를 캡처하여 응용프로그램 모음을 변경할 수 있습니다.

이 예제용으로, App.xaml에서 XAML을 사용하여 두 개의 전역 응용프로그램 모음을 만듭니다. 또한 응용프로그램의 App.xaml 코드 숨김 파일에서 코드만 사용하여 전역 응용프로그램 모음을 만들거나, 피벗 페이지의 코드 숨김 파일에서 로컬 응용프로그램 모음을 만들 수 있습니다. 응용프로그램 모음을 만드는 이러한 모든 메서드는 피벗 컨트롤에서 응용프로그램 모음을 변경하는 기술을 사용합니다. 자세한 내용은 Windows Phone의 앱 바를 참조하세요.

다른 응용프로그램 모음을 만들려면

  1. 솔루션 탐색기에서 App.xaml을 두 번 클릭하여 디자이너에서 엽니다.

  2. Application.Resources 요소에 다음 코드를 추가합니다. 그러면 두 개의 응용프로그램 모음 AppBar1AppBar2가 만들어집니다. AppBar1에는 버튼 하나와 메뉴 항목 하나가 있고, AppBar2에는 각각 두 개씩 있습니다. AppBar1AppBar2는 일반적으로 하나의 버튼과 하나의 메뉴 항목을 공유하지만 서로 완전히 구별될 수 있습니다.

    <Application.Resources>
    
        <shell:ApplicationBar x:Key="AppBar1" IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1" Click="Button1_Click" />
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1" Click="MenuItem1_Click" />
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    
        <shell:ApplicationBar x:Key="AppBar2" IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1" Click="Button1_Click" />
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2" Click="Button2_Click" />
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1" Click="MenuItem1_Click" />
                <shell:ApplicationBarMenuItem Text="MenuItem 2" Click="MenuItem2_Click" />
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
        
    </Application.Resources>
    
  3. 솔루션 탐색기에서 App.xaml을 마우스 오른쪽 버튼으로 클릭한 다음 코드 보기를 클릭하여 코드 편집기에서 코드 숨김 파일을 엽니다.

  4. App 클래스 내에 다음 코드를 추가합니다. 이 코드는 클릭 이벤트에 대한 처리기입니다. 서로 다른 응용프로그램 모음이 버튼이나 메뉴 항목을 공유하는 경우 이벤트 처리기도 공유합니다.

    private void Button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Button 1 works!");
        //Do work for your application here.
    }
    
    private void Button2_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Button 2 works!");
        //Do work for your application here.
    }
    
    private void MenuItem1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Menu item 1 works!");
        //Do work for your application here.
    }
    
    private void MenuItem2_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Menu item 2 works!");
        //Do work for your application here.
    }
    

단일 피벗 컨트롤에서 서로 다른 응용프로그램 모음을 사용하려면

  1. 편집기에서 피벗 페이지의 코드 숨김 파일을 엽니다.

  2. 코드 맨 위에 다음 문을 추가합니다.

    using Microsoft.Phone.Shell;
    
  3. 페이지 클래스(생성자 뒤)에 다음 코드를 추가합니다. 이 코드는 선택 변경 이벤트를 처리하고, 선택된 새 피벗 항목에 따라 다른 응용프로그램 모음을 선택합니다. 피벗 항목이 더 있으면 case 문을 더 추가할 수 있고, 여러 피벗 항목이 하나의 응용프로그램 모음을 공유하고 나머지 피벗 항목이 다른 응용프로그램 모음을 공유하는 경우에는 case 문을 완료할 수 있습니다.

    private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        switch (((Pivot)sender).SelectedIndex)
            {
                case 0:
                    ApplicationBar = ((ApplicationBar)Application.Current.Resources["AppBar1"]);
                    break;
    
                case 1:
                    ApplicationBar = ((ApplicationBar)Application.Current.Resources["AppBar2"]);
                    break;
        }
    }
    

표시:
© 2014 Microsoft