千家信息网

Winform和WPF下如何调用ComponentOne的控件

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要为大家展示了"Winform和WPF下如何调用ComponentOne的控件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Winform和WP
千家信息网最后更新 2025年01月20日Winform和WPF下如何调用ComponentOne的控件

这篇文章主要为大家展示了"Winform和WPF下如何调用ComponentOne的控件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Winform和WPF下如何调用ComponentOne的控件"这篇文章吧。

Step 1

首先,我们还是把两个平台的基本通信通道搭建起来,很简单,网上有很多步骤,总结起来主要分三步:

  1. 添加两个引用:WindowsFormsIntegration.dll(负责整合WPF和Windows)、System.Windows.Forms.

  2. 在 XAML文件中添加两个引用(粗体部分):

  < /Window>

解释一下,这段代码真正起作用的是这个引用WindowsFormsIntegration.dll,而这个引用System.Windows.Forms 指的是Winform里面的微软的原生态控件,所以在用到ComponentOne时,可以不引用它。

我们先看一个示例:通过微软原生态控件在WPF中使用Winform,代码如下:

                                

WindowsFormsHost其实是Winform在WPF的容器,所以Winform的控件显示都要在这个容器里面。

Setp2

上面我们说了,我们以FlexReport为介质进行通信,那我们需要准备的几个小步骤:

  1. Winform下FlexReport的模板

  2. 相关引用

注意:这里面的引用是Winform的引用。同样,我们需要在xmal中引用:

xmlns:cc11="clr-namespace:C1.Win.FlexViewer;assembly=C1.Win.FlexViewer.4"

在布局中添加可供报表预览的控件

                                

Setp3

我们在后台加载报表

private C1FlexReport _report;    public Window1()    {        InitializeComponent();        _report = new C1FlexReport(); // load report definition from resources        Assembly asm = Assembly.GetExecutingAssembly();         using (Stream stream = asm.GetManifestResourceStream("WpfApp1.Resources.FlexCommonTasks.flxr"))            _report.Load(stream, "Chart2D");        // assign report to the preview pane        flexViewerPane.DocumentSource = null;        flexViewerPane.DocumentSource = _report;    }

注:切记,这里面的报表是Winform平台下的

到这一步,我们工作完成了一大半,还差最后一步点石成金的步骤。很多人以为在这就结束了,但是我们要考虑 ComponentOne License 授权的问题,如何把Winform 的授权在WPF下注册,其实很简单,因为 .NET 的license机制一样,我们只需用同样的方式去注册控件的license ,不过这里推荐手动注册,这很重要,因为一不小心,就会报lc.exe=-1的错误

这里我们都用到了

  • C1FlexViewerPane

  • C1FlexReport

所以我们在license文件中写如下注册信息

C1.Win.FlexReport.C1FlexReport, C1.Win.FlexReport.4 C1.Win.FlexViewer.C1FlexViewerPane, C1.Win.FlexViewer.4

至此,我们就大功告成了。

以上是"Winform和WPF下如何调用ComponentOne的控件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

控件 两个 内容 报表 步骤 篇文章 代码 原生态 容器 平台 文件 面的 微软 学习 帮助 通信 重要 大功告成 点石成金 一不小心 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库单元格合并不了 网络安全在校生可以考的证书 sql 条件排除数据库 软件开发过程和软件测试 网络安全手抄报画的内容 寻觅者服务器 西安声光电安全文化展厅软件开发 供应性能稳定的数据库服务器 河南时代网络技术分类资费 青岛跨境无忧网络技术 松江区网络软件开发价钱 网络安全知识作用 安徽 软件开发人员外包 石景山区软件开发诚信服务 数据库开发工程师项目实战 中国国家网络安全检查 linux服务器 数据库 前端通过什么技术连接数据库 服务器hdd灯亮红灯常亮 家客网络技术支撑主要做什么 开立医疗底层软件开发面试 物联网标识体系数据库 加强网络安全意识形态 商务软件开发课程报告 数据库有json字段吗 杭州网络安全大学 中药免疫肿瘤综合数据库 服务器日常维护指示灯温度 桂电计算机网络技术复试试卷 网络技术 规律
0