.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); }
大功告成!
标签:控件,c#,ElementHost,net8,new,wpf,WPF,winform From: https://www.cnblogs.com/nanfei/p/18470567