1

私の Silverlight アプリケーションには、複数の XAML ページがあります。たとえば、1 つは時計を表示し、もう 1 つはタイマーを表示します。次のように前後に切り替えるボタンがあります。

 private void switchRight(object sender, RoutedEventArgs e)
    {
        this.Content = new Clock();
    }

    private void switchLeft(object sender, RoutedEventArgs e)
    {
        this.Content = new Timer();
    }

毎回新しいインスタンスを作成するのではなく、バックグラウンドで他のページを実行できるように、NavigationService を使用して前後に切り替えようとしています。

やっています

NavigationService.Navigate(new uri("/Timer.xaml", UriKind.Relative));

しかし、それは何もしていないようで、役立つ良い例が見つかりません。

4

1 に答える 1

0

ここにリンクがあります http://blogs.msdn.com/b/dphill/archive/2009/04/28/silverlight-navigation-part-3.aspx

さらに、バックグラウンド プロセスに Threading を使用できると思います。つまり、タイマーを開始するときに xaml を表示する必要はありません。

ただし、ページ インスタンスの場合は、非常に慎重に管理する必要があります。それ以外の場合は、stackoverflow :)

ビジネス ルールによっては、ナビゲーションを Web ブラウザー内にあると判断するのは困難です。

独自のウィザード (ルール付き) を作成しました。独自の NavigationManager を作成できます。検証のために、http://fluentvalidation.codeplex.com/を提供できます

于 2012-11-13T09:10:56.423 に答える