2013-07-14 30 views
0

我试图动态创建类来导入XAML绑定。它在WPF中运行良好,但在Windows Phone 8中运行良好。显然,Windows Phone 8不支持绑定到dynamic数据上下文(它不会尝试调用任何动态方法和属性)。在Windows Phone 8中发射IL

所以我想我会走更长的路线,并动态地发布类。不幸的是,我找不到任何方式在Windows Phone 8中发出IL。System.Reflection.Emit名称空间存在,但不包含发射器帮助器类。 System.AppDomain根本不存在,所以我不能创建一个新程序集来放置我新生成的类。

我注意到支持DynamicMethod,但我需要生成整个类,而不仅仅是一个匿名方法,那里。 IL在Windows Phone 8中完全禁止发布?

+0

检查[规则3.9](http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx) –

+0

嗯。我不会违反规则 - 没有动态下载的代码,动态行为不会与Windows运行时交互。但是,如果微软决定通过杀死生成IL的能力来强制执行规则 - 我倒霉了。 – zmbq

+0

@HansPassant适用于Windows 8,不适用于Windows Phone 8. –

回答

2

IL在Windows Phone 8中完全禁止发布?

只差不多。但绑定首先不需要是动态的。绑定尝试访问对象的一个​​属性而不知道它的类型,所以即使您将System.Object绑定为DataContext,您仍然可以在您的XAML中使用{Binding SomeProperty}

+0

确实,但我试图用一个自动触发PropertyChanged和CollectionChanged事件的增强模型替换您的视图模型。为此,我需要以某种方式创建一个模仿你的视图模型的类。 – zmbq

+0

@zmbq你根本不需要动态的。 –

+0

如何动态创建SomeProperty而不做任何动态的动作? – zmbq