Вы можете легко разработать 99% своего приложения WPF в неуправляемом коде, но сделать его неуправляемым на 100% довольно сложно.
Классы WPF не имеют атрибута Guid, поэтому они не будут работать сCOM.Поэтому для создания объектов WPF, таких как Button и Window, со 100% неуправляемым кодом требуется один из неуправляемых API CLR. Hosting API , вероятно, самый простой, но он все еще требует много работы.
Если вы готовы принять 99% неуправляемый код, просто скомпилируйте ваше приложение с параметром / clrи использовать IJW для создания экземпляров объектов WPF и вызова методов, таких как Application.LoadComponent.
Также обратите внимание, что привязка WPF к неуправляемым объектам требует, чтобы эти объекты полностью поддерживали COM, включая IDispatch.