2013-05-15 6 views
2

당신이 다음 App.xaml.cs를에이 같은 OnSearchActivated 방법 우선, 윈도우 스토어 앱에서 검색 계약을 구현하는 경우 :App.OnSearchActivated와 App.OnActivated (ActivationKind.Search 포함)의 차이점은 무엇입니까?

protected override void OnSearchActivated(SearchActivatedEventArgs args) 
{ 
    (Window.Current.Content as Frame).Navigate(typeof(Contracts.Search), args.QueryText); 
} 

을하지만주의를 지불하는 경우에, 당신은 그것을 볼 수 있습니다 이 같은 검색 활성화를 나타내는 이벤트 인수가 OnActivated라는 앱 클래스의 또 다른 재정이 있습니다 :

protected override void OnActivated(IActivatedEventArgs args) 
{ 
    if (args.Kind == ActivationKind.Search) 
    { 
     (Window.Current.Content as Frame).Navigate(typeof(Contracts.Search), args.QueryText); 
    } 
} 

내가 하나를 구현하거나 다른 결과가 동일하게 보인다. 그것은 두 가지의 차이점은 무엇입니까? 그들은 정말로 같은가요?

답변

1

예, 동일합니다.

XAML 팀은 가장 일반적인 유형의 앱 활성화를 위해 일반 입력 OnActivated 무시 및 강력한 형식의 재정의를 구현하기 위해 디자인을 결정했습니다. 특정 재 지정이있는 경우 OnSearchActivated과 같은 특정 재 지정을 사용하는 것이 가장 좋습니다. 그러나 파일 또는 프로토콜 활성화와 같은 일부 고급 시나리오에는 OnActivated이 필요합니다.

참고 : Page 파이프 라인에서 OnActivated이 먼저 발생하고 형식화 된 재정의가 수행됩니다. 앱은 한 번에 하나의 종류로만 활성화 될 수 있으므로 실행 순서는 중요하지 않습니다.

행운을 빈다.