gpt4 book ai didi

.net - WinForms 和 WPF 在同一个项目中?

转载 作者:行者123 更新时间:2023-12-02 06:22:27 25 4
gpt4 key购买 nike

我正在寻找一些启示...我开始在 WPF 中开发一个项目,发现需要一些我在 WinForms 中编写的旧代码。由于我认为这两个平台之间存在巨大差异,我曾预料到会出现某种类型的警告,但我决定将一些代码文件从 WinForms 项目导入到新的 WPF 项目中,看看会发生什么。请注意,WinForms 代码和 WPF 代码都在同一个项目中,它们被编译到同一个程序集中。期待一个错误,我不仅惊讶于我可以导入它,而且代码工作正常。当然它们都是用 C# 和 .Net 4.0 编写的,但我没有意识到 WPF 和 WinForms 可以这样共存。

我显然误解了这些框架的工作方式,有人可以解释一下这些框架如何在同一个程序集中共存而不会发生冲突吗?

最佳答案

WPF 和 Winforms 之间确实没有太大区别。他们都使用 HWND 来保存他们的内容。他们都使用消息泵。他们都解决了大多数事情的 Win32 调用。 WPF 和 Winforms 都使用资源。访问两者都会生成 IL 代码。它们只是引用不同的基础程序集,但这些基础程序集可以共存,就像您可以在同一模块中同时使用 System.Xml 和 System.IO 一样。

主要区别在于绘图/渲染方法等内部差异,但您可以使用 WinFormsHost 在 WPF 中显示 Winforms 内容.

关于.net - WinForms 和 WPF 在同一个项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6836994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com