我正在尝试在 .net 2.0 Windows 窗体应用程序中加载和托管 WPF 控件。仅当安装了 .net 3.5 时才应加载 WPF 控件。
我找到了一个链接在 MFC 应用程序中托管 WPF 内容 http://www.codeguru.com/cpp/cpp/cpp_managed/interop/article.php/c14589__2/这就是我正在尝试做的事情,但我的 C++ 知识不足以将其“翻译”到 .net。
无论如何,这是另一个链接:在 Java 应用程序中托管 WPF 内容 http://www.codeproject.com/KB/java/JavaHostWPF.aspx这又不一样了,但我不知道从哪里开始在 .net 中编写该代码。
关于此类主题的第一站应该是 WPF迁移和互操作性 http://msdn.microsoft.com/en-us/library/ms753178.aspx。特别是你会发现有一个演练:在 Windows 窗体中托管 Windows Presentation Foundation 控件 http://msdn.microsoft.com/en-us/library/ms742215.aspx让您开始。
请注意,本演练中构建的 Windows 窗体宿主应用程序确实如您所愿以 .NET Framework 2.0 为目标,尽管事实上ElementHost http://msdn.microsoft.com/en-us/library/system.windows.forms.integration.elementhost%28VS.85%29.aspx已在 .NET Framework 3.0 中引入。
如果您需要保护您的应用程序免受缺少这些程序集的影响,您将不得不引入一个间接层并且仅加载ElementHost
在成功检测到 .NET Framework 3.5 后的运行时,请参阅下面有关后者的提示。
.NET Framework 版本和服务包检测:
- 堆栈溢出:如何检测.NET Framework
版本和服务包是
已安装 https://stackoverflow.com/questions/199080/how-to-detect-what-net-framework-versions-and-service-packs-are-installed
- MSDN: 如何确定是哪一个
.NET Framework 的版本是
已安装以及是否有服务包
已应用 http://msdn.microsoft.com/en-us/kb/kb00318785.aspx
- 代码项目(带源代码): 使用托管
检测什么 .NET Framework 的代码
版本和服务包是
已安装 http://www.codeproject.com/KB/dotnet/frameworkversiondetection.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)