微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

为了节省文件大小,应该把多个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,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("缺少权限信息");     } }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐