1

私はSilverlightを初めて使用し、収集したものから、ページングに関して直接的な機能がないため、ここからヘリックスプロジェクトをダウンロードしました。かなり便利だと思いましたが、コードビハインドを介してページをナビゲートする方法(らせんを使用)を見つけることができませんでした。これが必要な理由は、メソッドが正常に実行された場合に別のページに移動したいからです。

4

1 に答える 1

2

RootPage.xaml.cs の OnLoaded イベントで、次のコードを確認できます。

this.rootFrame.Navigate( new Uri( "Page1.xaml", UriKind.Relative ) );

これは、RootPage.xaml で定義された Frame コントロールのインスタンスの Navigate メソッドを呼び出すことによって RootPage が読み込まれるときに、Page1.xaml (NavigationPage を実装する) にプログラムで移動します。

<h:Frame x:Name="rootFrame" Grid.Row="0" Grid.Column="1"
         NavigationUIVisibility="Visible" Margin="4" />

この Navigate メソッドは、Frame のカプセル化された StackJournal インスタンスの Navigate メソッドを呼び出します。

Page1.xaml など、親フレームに直接アクセスできないページ (つまり、RootPage 以外のページ) のコード ビハインドにいる場合は、最も近い親フレームにバブル アップする RequestNavigate イベントを発生させる必要があります。 .

次のコードは、Page1.xaml のボタン クリックから直接 Page3.xaml にプログラムで移動する方法を示しています。

private void TestButton_Click(object sender, RoutedEventArgs e)
{
    this.RaiseEvent(NavigationLink.RequestNavigateEvent,
        new RequestNavigateEventArgs(new Uri("Page3.xaml", UriKind.Relative),
        "rootFrame"));
}

targetName が「rootFrame」であり、最終的にナビゲーションを実行する親 Frame オブジェクトであることに注意してください。

于 2009-02-12T22:48:39.080 に答える