XAML 페이지 간 매개변수 전달은 효과적인 애플리케이션 디자인의 기본 측면입니다. Windows Phone, Silverlight, WPF 또는 Windows 8 애플리케이션에서 페이지를 탐색할 때 데이터 전달을 위한 적절한 방법을 이해하면 애플리케이션의 기능과 사용자 경험이 향상됩니다.
간단한 데이터 전송의 경우 쿼리 문자열을 사용할 수 있습니다. 이 방법을 통해 전달된 데이터는 문자열로 변환되고 URL로 인코딩되어야 합니다.
탐색 페이지:
page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative));
대상 페이지:
string parameter = string.Empty; if (NavigationContext.QueryString.TryGetValue("parameter", out parameter)) { this.label.Text = parameter; }
NavigationEventArgs를 사용하면 탐색 중에 메서드 호출을 통해 전달된 매개 변수에 대한 액세스를 제공합니다.
페이지 탐색:
page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative)); // and ... protected override void OnNavigatedFrom(NavigationEventArgs e) { Page destinationPage = e.Content as Page; if (destinationPage != null) { destinationPage.PublicProperty = "String or object.."; } }
대상 페이지:
// Use the value of "PublicProperty"..
수동 탐색을 사용하면 생성자를 통해 사용자 정의 매개변수를 전달할 수 있습니다.
페이지 탐색:
page.NavigationService.Navigate(new Page("passing a string to the constructor"));
대상 페이지:
public Page(string value) { // Use the value in the constructor... }
가장 중요한 차이점은 애플리케이션 수명 주기에 있습니다. 수동으로 생성된 페이지는 메모리에 유지되지만 Uri를 통해 탐색된 페이지는 유지되지 않습니다.
방법 1과 2를 사용하여 복잡한 개체를 전달할 수 있습니다. 또는 사용자 정의 속성을 사용할 수 있습니다. Application 클래스에 추가되거나 데이터가 Application.Current.Properties에 저장될 수 있습니다.
위 내용은 XAML 페이지 간에 값을 효율적으로 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!