从ASPX页面调用多个silverlight页面中的一个

本文关键字:一个 调用 silverlight ASPX | 更新日期: 2023-09-27 18:27:02

我是Silverlight的新手,每次尝试使用它编写代码时,这似乎都是一个问题。我正在将ESRI GIS映射添加到我的ASP.NET应用程序中。我正在使用Silverlight控件进行映射。因此,我创建了我的Silverlight项目。我希望一个XAML页面是一个具有某些特性和功能的Map,我可以将这些特性和功能转储到用户Web控件中,以便在应用程序的多个位置使用。这并不难,我已经做到了。

问题是,我想在同一个Silverlight项目中创建一个新的XAML页面,该页面包含与映射功能有关的不同功能。但是,我似乎不知道如何将我的silverlight控件添加到页面中,而不是调用MainPage.xaml文件,而是调用我的新MapPage.xaml.

我有什么东西不见了吗。似乎我应该能够在ASPX页面上调用对象的地方执行此操作。

从ASPX页面调用多个silverlight页面中的一个

好吧,我想好了:

1) 在ASPX页面上的silverlight对象中,添加以下内容:

<param name="initParams" value="map=2" />

2) 在Application_Startup函数下的App.xaml.cs文件中的silverlight项目中,添加以下内容:

private void Application_Startup(object sender, StartupEventArgs e)
{
    switch (e.InitParams["map"].ToString())
    {
        case "1":
            this.RootVisual = new MainPage();
            break;
        case "2":
            this.RootVisual = new GIS_GEOLOCATE();
            break;
        default:
            this.RootVisual = new MainPage();
            break;
    }
}

在HTML对象中发送initParms对象,然后将RootVisual设置为所需的页面。

有人看到这个有问题吗?