none
Silverlight2.0中可否实现在一个aspx文件中转换不同的的xaml内容 RRS feed

  • 问题

  • 我最近在学做silverlight2.0,但是每生成一个新页面都要从新生成一个project,十分不便于开发大型系统,不知道可不可以在一个 project中制作几个不同的 xaml 然后在aspx中转换调用的xaml 实现类似页面跳转的效果?网上SL2.0的源码太少了,没有找到类似的。如果能实现是怎样实现的?那位高人能帮忙解答一下?
    2008年4月2日 7:55

答案

  • 可以的。

    一个Silverlight只能编译为一个xap文件,一个xap文件只能有一个启动XAML,因此你有两个选择:

    1.假设你有一个ASP.NET站点,要使用两个Silverlight控件,可以创建两个Silverlight项目,把这3个项目归到一个解决方案下面。注意设置两个Silverlight输出的xap文件名要不同,这样就可以在ASP.NET项目中分开引用了。

    2.在一个Silverlight项目中,创建多个不同的XAML(UserControl),在App.xaml.cs的Application_Startup()中指定启动哪个XAML。例如你可以引用sample.xap?xaml=control1,然后在Application_Startup()中读取到xaml=control1这个标记,此时显示Control1.XAML。
    2008年4月7日 9:54
    版主
  • 我在我的MSN Space中写过一篇相关文章,可以参考一下:-)

    http://dufelitianyu.spaces.live.com/blog/cns!E7D5169D04D146D0!360.entry
    2008年6月14日 6:51

全部回复

  •  

    修改object标签的source的值可以吧,不过,目前好像还没有更方便的方法。

    Code Snippet

     

    <object data="data:application/x-silverlight," type="application/x-silverlight-2-b1" width="100%" height="100%">
     <param name="source" value="SilverlightApplication2.xap"/>
    </object>

     

     

    2008年4月4日 7:33
    版主
  • 可以的。

    一个Silverlight只能编译为一个xap文件,一个xap文件只能有一个启动XAML,因此你有两个选择:

    1.假设你有一个ASP.NET站点,要使用两个Silverlight控件,可以创建两个Silverlight项目,把这3个项目归到一个解决方案下面。注意设置两个Silverlight输出的xap文件名要不同,这样就可以在ASP.NET项目中分开引用了。

    2.在一个Silverlight项目中,创建多个不同的XAML(UserControl),在App.xaml.cs的Application_Startup()中指定启动哪个XAML。例如你可以引用sample.xap?xaml=control1,然后在Application_Startup()中读取到xaml=control1这个标记,此时显示Control1.XAML。
    2008年4月7日 9:54
    版主
  • 我在我的MSN Space中写过一篇相关文章,可以参考一下:-)

    http://dufelitianyu.spaces.live.com/blog/cns!E7D5169D04D146D0!360.entry
    2008年6月14日 6:51