1

我的 Silverlight 应用程序有多个 XAML 页面。例如,一个显示时钟,一个显示计时器。我有按钮可以像这样来回切换:

 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

此外,我认为您可以将线程用于后台进程。即当您启动计时器时,无需显示任何 xaml。

但是对于页面实例,您需要非常小心地管理它,否则 stackoverflow :)

根据业务规则,很难将导航确定为在 Web 浏览器中。

我们创建了自己的向导(带有规则)。您可以创建自己的 NavigationManager。对于验证,我可以提供http://fluentvalidation.codeplex.com/

于 2012-11-13T09:10:56.423 回答