문제

메인 페이지와 세 개의 보조 페이지로 구성된 범용 Windows Phone 앱 (빈 앱 템플릿에서 시작됨)이 있습니다.이들 중의 탐색은 예상대로 일하고 있습니다 (파트, 이 MSDN 페이지 ).

실행중인 문제는 메인 페이지에서 사용자가 하드웨어 백 버튼을 누르면 백그라운드에 내 앱이 설정되어 있지만 내 앱의 카드는 작업 전환기에 남아 있습니다.이것은 디버거가 첨부되었는지 여부에 관계없이 발생합니다.

Pivot App (WP) 템플릿을 기반으로 새로운 프로젝트 에서이 작업을 시도했으며 동일한 문제가 발생했습니다.

사용자가 메인 페이지에서 다시 누르면 작업 전환기에 더 이상 없을 때 "닫기"를 원합니다.수동으로 일해야 할 일이 있습니까?

도움이 되었습니까?

해결책

application.current.exit ()을 사용하여 앱을 종료 할 수 있습니다.아래의 hardwarebuttons_backpressed 함수에서.

public MainPage()
{
    Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}

private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
    /* When you don't know the namespace you can use this code instead of the lower

    string[] Namespace = Frame.CurrentSourcePageType.FullName.Split('.');
    if (!e.Handled && Frame.CurrentSourcePageType.FullName == Namespace[0] + ".MainPage")
            Application.Current.Exit();
    */
    if (!e.Handled && Frame.CurrentSourcePageType.FullName == "NAMESPACE.MainPage")
        Application.Current.Exit();
}
.

이 작품을 희망

조사, 기독교

다른 팁

이것은 내가 그것을 구현하는 방법, USER2799780과 Romasz의 포인터가 있는지, 나는 핸들러를 등록하지 않아야한다는 것은 100 % 확신하지는 않지만, 항상 NAVIGATEDTO에 대한 NAVIGATIDATIONFROM이 있는지 여부에 따라 다릅니다.

편집 : 나는 일시 중지 될 때 앱이 onNavigatedFrom 이벤트를 수신했지만 재개시 onNavigatedTO 이벤트가 표시되지 않으므로 핸들러가 핸들러를 등록하지 않게 만듭니다.그 사건. 아래의 구현은이 버그 의 영향을받을 수 있습니다.

protected override async void OnNavigatedTo(NavigationEventArgs e)
{
    // When we're on this page, pressing Back should close the app
    Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
}

protected override async void OnNavigatedFrom(NavigationEventArgs e)
{
    // When we leave this page, pressing Back should no longer close the app
    Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
}

private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
{
    if (!e.Handled)
    {
        Application.Current.Exit();
    }
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top