WPF 4.5中的空域支持是否已经下降?

时间:2012-03-02 14:45:41

标签: wpf .net-4.5

在我发布此问题时,在.NET 4.5测试版发布2天后,MSDN上的What's New in WPF 4.5 Version 4.5 Beta页面仍然列出了“将WPF与win32图形用户界面集成”作为WPF 4.5提供改进的领域。该页面讨论了支持此问题的HwndHost上的两个新属性:IsRedirectedCompositionMode。此外,顶级what's new in .NET 4.5 beta页面将此集成称为新功能。

同样,在我写这篇文章时,有两个项目的页面。您有IsRedirected hereCompositionMode here。 ( 2014年1月27日更新:原始页面不再可用,因此我已将这些链接移至指向Internet存档副本。)

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

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

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

2 个答案:

答案 0 :(得分:12)

来自Dwayne Need的一个相当不错的blog post描述了他们努力使其发挥作用的非凡的努力。没有什么是微妙的,例如它们最终拦截了200多个GDI函数,以使它们与WPF渲染模型一起发挥作用。结果是预期的:

  

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

     

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

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

还要检查博客文章的其余部分。虽然它是关于解决现有空域问题的高级建议,但它有很好的建议。

答案 1 :(得分:5)

建议" Bring back the HwndHost.IsRedirected and CompositionMode"发布在Visual Studio UserVoice。

微软拒绝了,说:

  

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

看起来您链接到的MSDN页面也已被删除。