0

XAML バインディングをインポートするクラスを動的に作成しようとしています。WPF ではうまく機能しますが、Windows Phone 8 では機能しません。明らかに、Windows Phone 8 はdynamicデータ コンテキストへのバインディングをサポートしていません (動的なメソッドやプロパティを呼び出そうとしないだけです)。

だから私はより長いルートに行き、クラスを動的に発行すると思いました。残念ながら、Windows Phone 8 で IL を出力する方法は見つかりませんでした。System.Reflection.Emit名前空間は存在しますが、エミッタ ヘルパー クラスは含まれていません。System.AppDomainはまったく存在しないため、新しく生成されたクラスを配置するための新しいアセンブリを作成できません。

サポートされていることに気づきましたDynamicMethodが、あちこちの匿名メソッドだけでなく、クラス全体を生成する必要があります。Windows Phone 8 では IL の放出は完全に禁止されていますか?

4

1 に答える 1

2

Windows Phone 8 では IL の放出は完全に禁止されていますか?

ほとんどだけ。しかし、バインディングは最初から動的である必要はありません。バインディングは、オブジェクトの型を知らずにオブジェクトのプロパティにアクセスしようとするため、DataContext としてバインドしたとしても、XAML に保持System.Objectすることができます。{Binding SomeProperty}

于 2013-07-14T12:30:41.920 に答える