ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 8892|回复: 5

Excel 使用WPF控件 用VSTO

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-8-20 17:37 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 bikaqiou2000 于 2011-8-20 21:25 编辑

我是个EXCEL的粉丝,喜欢把各种技术往Excel头上套。
这不今天就讨论一下如何让你的Excel 项目有自己风格的WPF元素。
当然VSTO项目是不能直接使用WPF控件的,本文主要是就介绍
下如何用WPF的互操作性来实现。
本质上这篇文章跟Excel关系不大。

我的项目环境是 VS2010 + Office2007

1:
首先 启动VS2010 新建一个 Excel工作簿项目。
我的项目名称是:ExcelWorkBookUseWPF ,当然你可以用自己的名称。
NewProject.jpg

2:
在项目中添加一个用户控件项,命名UserControl1(用装载ElementHost),出于是演示目的没有
用.net 下的命名规范(后面的内容也是一样),请见谅。

用户控件

用户控件


3:进入UserControl1设计,在UserControl1中添加一个ElementHost
并且在智能任务中设置在父容器中停靠(用于放置WPF元素)

ElementHost

ElementHost


4:接下来是要向项目中添加一个UserControl (WPF) 项 ,命名WPFUserControl1。
UserControlWPF.JPG

5: 进入WPFUserControl1设计,然后我们就开始编写WPFUserControl的界面代码。
WPFControlXaml.JPG
我在流式布局面板(StackPanel)里面写了两个Button控件一个是默认风格 另一个是
用自定义模版创建的水晶按钮。
至于介绍XAML和WPF控件样式和模版都超出了本文的范围,
这里都不会介绍,只是展示一下效果。

6:然后我们 生成 一下项目,回到UserControl1在ElementHost智能任务child下拉框
选择刚才做好的WPFUserControl1。

child

child



7:如果不出问题的话现在的项目应该是这样的.
ProjectStatus.JPG

8:接着我们就可以向Sheet1添加制定的控件了
进入Sheet设计 从工具箱拖入刚才定制好的UserControl1

ToolBox

ToolBox


9:进入Sheet1的代码界面为控件添加事件代码(当然我的封装是有问题,
但这只是出于演示)。
Code.JPG
VB.net 不同于VBA 依旧不解释。


10:如果正常的话程序应该可以运行了。效果:

final

final


好了先介绍到这里,因为涉及到的知识还是挺多
的而且我也没有做详细解释,如果有网友感兴趣的
话可以去查查相关资料。
ExcelWorkbookUseWPF.part1.rar (283.2 KB, 下载次数: 117) ExcelWorkbookUseWPF.part2.rar (276.19 KB, 下载次数: 124)
Bye





TA的精华主题

TA的得分主题

发表于 2011-8-21 03:43 | 显示全部楼层
希望楼主多多研究VSTO的功能,分大家分享。
这是挺好的资料。

TA的精华主题

TA的得分主题

发表于 2011-8-21 08:16 | 显示全部楼层
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2011-8-21 17:45 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-11-8 15:59 | 显示全部楼层
就一个控件,生成后拖出来就可以,有时很不稳定{:soso_e135:}

TA的精华主题

TA的得分主题

发表于 2022-5-26 11:47 | 显示全部楼层
能否将水晶按钮的Xaml分享一下?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-6 02:53 , Processed in 0.047417 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表