WPF 4.5中是否已经放弃了空域支持?

Ian*_*ths 16 wpf .net-4.5

在我发布这个问题之后,在.NET 4.5测试版发布2天后,MSDN上的WPF 4.5版本4.5 Beta页面中的新功能仍然列出了"将WPF与win32图形用户界面集成"作为WPF 4.5提供改进的领域.该页面讨论了HwndHost支持这两个的新属性:IsRedirectedCompositionMode.此外,.NET 4.5 beta页面中的顶级新功能将此集成称为新功能.

再次,在我写这篇文章的时候,有两个项目的页面.你在这里IsRedirectedCompositionMode.(2014年1月27日更新:原始页面不再可用,因此我已将这些链接移至指向Internet Archive副本.)

但是,如果您转到HwndHost本身的文档,那么这些属性都不存在.它们似乎也不在Visual Studio中.

因此看起来谣言是正确的 - 看起来互联网的空域改进已被取消.但是,如果微软的任何人都在阅读这篇文章,那么如果a)我们可以得到肯定的确认并且b)上面提到的页面可以更新以阻止我们的希望,这将是好的.

更新2014年1月27日:我已经更新了IsRedirected和CompositionMode的链接以指向Internet存档,因为原始链接现在已经死亡.另请注意,What's New页面不再提及此内容,因为这些链接现在已用于最终版本.当我最初在此存档页面此处询问此问题时,您可以看到当前的旧页面.

Han*_*ant 12

Dwayne Need提供了一篇相当不错的博客文章,描述了他们为实现这项工作而付出的巨大努力.没有什么是微妙的,例如它们最终拦截了200多个GDI函数,以使它们与WPF渲染模型一起发挥作用.结果是预期的:

经过广泛的审查,我们决定实际上无法发布此功能,您可以对我的心碎进行成像.我们担心的是,我们不得不深入研究系统,以及难以解释的方式 - 更不用说维护了.尽管我们要求开发人员明确地为每个HwndHost启用此功能,但我们认为他们遇到的问题会让他们感到困惑,培训我们的支持工程师处理升级将非常困难.即使在我们开发的最后阶段,我们仍然在努力解决长尾巴和性能问题.

这正是需要由Win32平台团队完成的深度系统集成,正式批准和支持.使用Win8,我们开始看到这个领域的一些增量改进,如之前在DirectComposition API中所述.不幸的是,仍然无法构建我们开发的同样丰富的复合体验.

Windows组是否会致力于提供这种集成,现在是一个悬而未决的问题.他们肯定把钱花在一匹非常不同的马上,并在WinRT上投入了大量精力,WinRT是一个肯定受WPF启发的渲染模型,但没有做任何事情来使它变得更好.如果它将被解决,那么可以指望几年到达那里.

请检查博客文章的其余部分.虽然它是处理现有空域问题的高级建议,但它有很好的建议.


Bra*_*ger 5

在Visual Studio UserVoice上发布了" 带回HwndHost.IsRedirected和CompositionMode " 的建议.

微软拒绝了,说:

目前,我们无法将该功能添加到WPF和.NET Framework中.

它看起来像您链接到的MSDN页面已被删除.