c# .net8 winform 嵌入 wpf 控件

.net framework 例子很多,但 .netcore 的很难找,经过和 gpt 很长时间的沟通,完成了。 关键点是 vs2022 似乎还不支持设计时的 ElementHost,所以必须通过代码初始化。

1. 新建一个 wpf 控件库

2. 创建一个导圆角的 TextBox,控件名为 UserControl1

3. winform 项目添加对 wpf 控件库项目的引用

4. 在 winform 项目设置中找到 "启用WPF" 选项,选中它

5. using System.Windows.Forms.Integration; // 用于 ElementHost

6. 创建控件代码如下:

复制代码
public Form1()
{
    InitializeComponent();

    // 创建 WPF 控件实例
    var wpfControl = new UserControl1();

    // 创建 ElementHost
    var host = new ElementHost
    {
        Location = new Point(200, 200),
        Size = new Size(500, 70),
        Child = wpfControl // 将 WPF 控件添加到 ElementHost                
    };

    // 将 ElementHost 添加到 WinForms 窗体
    this.Controls.Add(host);
}
复制代码

大功告成!

posted on   空明流光  阅读(338)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2019-10-16 java通过jna调用so
2019-10-16 java 执行 jar 包和 class
2015-10-16 利用Jquery实现页面上div的拖动及位置保存

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示