2013-07-14 2 views
0

XAML 바인딩을 가져 오기 위해 클래스를 동적으로 만들려고합니다. WPF에서는 잘 작동하지만 Windows Phone 8에서는 작동하지 않습니다. 분명히 Windows Phone 8은 dynamic 데이터 컨텍스트에 대한 바인딩을 지원하지 않습니다. 단지 동적 메서드와 속성을 호출하지 않습니다.Windows Phone에서 IL 방출 8

그래서 나는 더 긴 경로를 찾아 동적으로 클래스를 방출 할 것이라고 생각했습니다. 불행히도 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 런타임과 상호 작용하지 않습니다. 그러나 Microsoft가 즉시 IL 생성 기능을 중지하여 규칙을 시행하기로 결정한 경우 운이 없게됩니다. – zmbq

+0

@HansPassant는 Windows Phone 8이 아닌 Windows 8 용입니다. –

답변

2

Windows Phone 8에서 IL 방출이 완전히 금지되어 있습니까?

. 그러나 바인딩은 처음에는 동적 일 필요가 없습니다. 바인딩은 유형을 모른 채 객체의 속성에 액세스하려고하므로 System.Object을 DataContext로 바인딩하더라도 XAML에 여전히 {Binding SomeProperty}을 가질 수 있습니다.

+0

실제로,하지만 귀하의보기 모델을 PropertyChanged 및 CollectionChanged 이벤트를 자동으로 실행하는 보완 된 모델로 대체하려고합니다. 이를 위해 어떻게 든 뷰 모델을 모방 한 클래스를 생성해야합니다. – zmbq

+0

@ zmbq 당신은 여전히 ​​다이나믹을 필요로하지 않습니다. –

+0

동적 인 작업을 수행하지 않고 어떻게 SomeProperty를 동적으로 만들 수 있습니까? – zmbq