Управляемый код приложения WPF только? - PullRequest
3 голосов
/ 11 августа 2010

Я хочу использовать WPF в приложении.Я хочу написать это на C ++.Нужно ли управлять приложением?Я знаю, что могу смешивать управляемые с неуправляемыми.Мне интересно, могу ли я сделать так, чтобы все приложение было неуправляемым.

Ответы [ 2 ]

7 голосов
/ 11 августа 2010

Вы можете легко разработать 99% своего приложения WPF в неуправляемом коде, но сделать его неуправляемым на 100% довольно сложно.

Классы WPF не имеют атрибута Guid, поэтому они не будут работать сCOM.Поэтому для создания объектов WPF, таких как Button и Window, со 100% неуправляемым кодом требуется один из неуправляемых API CLR. Hosting API , вероятно, самый простой, но он все еще требует много работы.

Если вы готовы принять 99% неуправляемый код, просто скомпилируйте ваше приложение с параметром / clrи использовать IJW для создания экземпляров объектов WPF и вызова методов, таких как Application.LoadComponent.

Также обратите внимание, что привязка WPF к неуправляемым объектам требует, чтобы эти объекты полностью поддерживали COM, включая IDispatch.

1 голос
/ 11 августа 2010

Как вы уже знаете, вы можете смешивать управляемое и неуправляемое посредством взаимодействия;однако WPF работает на CLR.

Вот статья в Интернете, где некоторые люди рассуждают о будущей неуправляемой версии:

http://neilmosafi.blogspot.com/2008/07/unmanaged-version-of-wpf-coming.html

Вот еще однассылка на WPF / родное взаимодействие, если вы выберете этот маршрут:

http://msdn.microsoft.com/en-us/library/ms742522.aspx

...