一个XAP中有多个Silverlight控件时如何选择调用

本文介绍了如何通过将多个Silverlight控件整合到一个XAP文件中,并利用App的Startup事件进行选择性加载,以节省文件大小。同时,通过初始化参数集判断加载特定页面,实现页面加载的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了节省文件大小,应该把多个Silverlight控件放在一个XAP文件里,例如Page1.xaml和Page2.xaml。第一次加载哪一个可以在App的Startup事件的处理事件中选择性加载。

private void Application_Startup(object sender, StartupEventArgs e)
{
 // Load the main control
 this.RootVisual = new Page1();
 // 或者加载Page2
 //this.RootVisual = new Page2();
}

如果要判断,可以通过StartupEventArgs对象的InitParams集合,这是一个键/值对集合,向它传入初始化参数。方法如下:

<asp:Silverlight ID="Xaml1" runat="server" ... InitParameters="Author=renji,Url=http://renji.cnblogs.com,Role=User"/>或在Object里面:
<param name="initParams" value="Author=renji,Url=http://renji.cnblogs.com,Role=User" />
这样在App.xaml.cs中就可以检查值了:
if (!e.InitParams.ContainsKey("Role"))
{
 this.RootVisual = new Page1();
}
else
{
 switch (e.InitParams["Role"])
 {
  case "User":
  this.RootVisual = new Page1();
  break;
  case "Admin":
  this.RootVisual = new Page2();
  break;
  default:
  throw new Exception("缺少权限信息");
 }
}

转载于:https://www.cnblogs.com/arongbest/archive/2011/09/19/2181103.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值