1

현재 WP8.1의 다른 페이지에서 전달 된 문자열을 가져올 때 매개 변수를 읽는 방법을 잘 모르겠습니다.읽기 문자열 배열을 페이지 탐색에 전달했습니다.

이 말했다
String[] parameters = new String[3]; 
parameters[0] = ReliabilitySwitch.IsEnabled.ToString(); 
if (i != 2) 
{ 
    parameters[1] = UnitsList.SelectedItem.ToString(); 
    parameters[2] = MethodSwitch.IsEnabled.ToString(); 
} 
else 
{ 
    parameters[1] = "2"; 
}  
Frame.Navigate(typeof(Nav),parameters); 

, 내가 다른 페이지에서 내가 전달하고 매개 변수를 읽는 방법을 잘 모르겠습니다 : 이것은 실제로 다른 페이지로 이동하는 동안이 매개 변수를 전달하는 데 사용하는 코드입니다. 예를 들어 정수 값을 읽는 방법을 알고 있습니다. 나는이 같은이 매개 변수를 읽는 시도했다, 그러나 나는 확실히 과정에서 일부 데이터를 잃었 :

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    String parameters; 
    parameters = e.Parameter.ToString(); 
} 
+0

[질문의 제목에서 내가 삭제 한 태그 (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in- : 그냥 원래의 형태로 다시 캐스팅 그들의 제목). 또한 '태그'에 더 적절한 태그를 추가했습니다. – Romasz

답변

5

e.parameter 유형 object이다.

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    String[] parameters = (String[])e.Parameter; 
} 
1

Windows Phone 용 :

NavigationService.Navigate (새 열린 우리당 ("/ View.xaml QueryStringParameter = myValue ", UriKind.Relative));

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    String parameter = NavigationContext.QueryString["QueryStringParameter"]; 

    // OR 

    string param; 
    if (NavigationContext.QueryString.TryGetValue(
     "QueryStringParameter", out param) 
    { 
     // a parameter exists. work with the value 
    } 

} 
+0

'Frame.Navigate'에 주목하십시오. 그는 Silverlight가 아니라 WinRT를 사용하고 있습니다. –

+0

예, 답을 쓰는 동안 그것을 알아 채지 못했습니다. – Pantelis