第十七章 从 Silverlight 控件打开特定的 xaml 页

每个 Silverlight 应用程序项目可以包含多个 xaml 页面。当你从 web页面指定.xap文件时,可以通过设置 Application.RootVisual属性来确定默认显示的 xaml 页。

可能有这种情况,从不同的 Web 页面指定相同的 .xap文件显示不同的XAML文件。可以通过 xaml 文件名或通过Silverlight控件的InitParameters属性确定一些其他类型。这个属性可以从Web页面设置 Silverlight控件。从Web页面设置的值将通过 Silverlight控件读取并打开合适的 xaml 页面。

为了说明这点,我们创建一个 Silverlight 项目,名为“ OpenSpecificXaml ”。

当你编译生成项目后,放置 Silverlight 控件在你的 Web 页面,如下所示:

< asp : Silverlight InitParameters="PageName=Page1"ID="Silverlight1"

     runat ="server" Source="~/ClientBin/OpenSpecificXaml.xap"

     MinimumVersion ="2.0.30923.0" Width ="100%" Height="100%"/>

在上面代码,看见如下代码

InitParameters ="PageName=Page1"

这里设置的“ InitParameters ”具有键 - 值对关系标识默认打开的 xaml页面。

现在,将在 App.xaml 文件中读这个属性并为 Application.RootVisual 属性设置适当的页面。这里有个示例用在App.xaml.cs中实现这一目标:

private void Application_Startup(object sender,StartupEventArgs e) {

    IDictionary <string , string > parameters = e.InitParams;

    if (parameters == null ) {

        // 没有参数传递时,打开默认的xaml

        this .RootVisual = new DefaultPage();

    } else if (parameters["PageName" ] =="Page1" ) {

        this .RootVisual = new Page1();

    } else if (parameters["PageName" ] =="Page2" ) {

        this .RootVisual = new Page2();

    } else {

        // 打开默认的xaml

        this .RootVisual = new DefaultPage();

    }

}

 

 

 

Silverlight入门知识学习目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值