silverlight – 动态生成XAML对象

我有一个Silverlight应用程序,显示了许多“页面”.每个页面都是一个不同的XAML文件,后面有不同的代码.页面按顺序编号如下:page_1,page_2,page_3,…,Page_n.页面不是静态的,将动态生成.

由于我不知道总页数,我必须使用Dynamic关键字在运行时加载每个页面.我的代码如下工作完美:

Type type = Type.GetType("Pages.Page_" + (index).ToString(),true);
dynamic newPage = Activator.CreateInstance(type);

我的问题是我刚刚得知应用程序必须是Silverlight 3,因此,它将无法使用动态类型.我已经尝试将“动态”更改为“对象”,但我需要能够访问每个页面上的XAML并操纵XAML.如果我只需要访问属性和方法,我就可以按照解决方案创建动态对象here.

如何动态创建每个页面并仍然能够访问XAML?

解决方法

我假设每个页面都是UserControl.如果是这种情况那么你就已经存在了.而不是创建动态对象,创建一堆UserControl对象.

将您的代码更改为:

Type type = Type.GetType("Pages.Page_" + (index).ToString(),true);
UserControl newPage = (UserControl)Activator.CreateInstance(type);

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...