ホームページ > バックエンド開発 > C++ > XAML ページ間で値を効率的に渡すにはどうすればよいですか?

XAML ページ間で値を効率的に渡すにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-03 14:14:40
オリジナル
892 人が閲覧しました

How to Efficiently Pass Values Between XAML Pages?

XAML ページ間での値の受け渡し

XAML ページ間でのパラメーターの受け渡しは、効果的なアプリケーション設計の基本的な側面です。 Windows Phone、Silverlight、WPF、または Windows 8 アプリケーションのページ間を移動する場合、データを渡すための適切な方法を理解すると、アプリケーションの機能とユーザー エクスペリエンスが向上します。

1.クエリ文字列の使用

単純なデータ転送には、クエリ文字列を使用できます。このメソッドを介して渡されるデータは文字列に変換され、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;
}
ログイン後にコピー

2. NavigationEventArgs

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..";
    }
}
ログイン後にコピー

Destinationページ:

// Use the value of "PublicProperty"..
ログイン後にコピー

3.手動ナビゲーションの使用

手動ナビゲーションでは、コンストラクターを介してカスタム パラメーターを渡すことができます。

ページの移動:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート