wpf做的可扩展记事本

记得有个winform利用反射做的可扩展笔记本,闲来无事,便用wpf也搞了个可扩展记事本,可用接口动态扩展功能,较简单,以便参考:

目录结构如下:

MainWindow.xaml为主功能界面,FunctionExpand提供扩展接口;

主要功能代码如下:

private void MakeFun()
{
string location = this.GetType().Assembly.Location;
string dllPath = System.IO.Path.GetDirectoryName(location) + "\\plugs";

string[] strDllPath = System.IO.Directory.GetFiles(dllPath, "*.dll");

foreach (var item in strDllPath)
{
Assembly ass = Assembly.LoadFile(item);

Type[] types = ass.GetExportedTypes();
Type plugType = typeof(IPlug);

foreach (var t in types)
{
//判断是否实现IPlug接口
if (plugType.IsAssignableFrom(t))
{
//根据插件类型创建插件对象
IPlug iplugObj = Activator.CreateInstance(t) as IPlug;

//创建插件按钮
MenuItem menu = new MenuItem();
menu.Header = t.Name;
this.expandTool.Items.Add(menu);
menu.Click += menu_Click;
menu.Tag = iplugObj;
}

}

}

}

void menu_Click(object sender, RoutedEventArgs e)
{
MenuItem menuItem = sender as MenuItem;
IPlug iplug = menuItem.Tag as IPlug;
tb_Text.Text = iplug.ProcessText(tb_Text.Text);
}

效果如下:

现把代码分享出来,有感兴趣的朋友可以研究下: 源码下载

转载请注明来自:闪闪的幸运星

原文地址:http://www.cnblogs.com/dongyang

如若转载,请保留原文地址。谢谢合作。

时间: 2024-10-10 10:09:15

wpf做的可扩展记事本的相关文章

wpf做的3d滑动gallery

原文:wpf做的3d滑动gallery wpf做的3d滑动gallery 随着iphone\ipad的流行及热捧,现在做移动产品不管是什么平台的,领导总想做成像ios系统的样子.自从微软发布了window8预览版之后,领导就想着把公司的移动产品移殖到window8上去了.公司的移动产品的主界面是做成3d gallery的立体画册效果的,如下图: window8是不带这样的控件的,究竟有没有实现如此效果的控件我就不清楚了,我认为是没有的,因为我在vs上找不到,也不符合window8风格,我找遍了互

用WPF做了几个小游戏

最近看书看累了,参考别人的代码(其实差不多就是把代码重新打了一遍o(╯□╰)o),用wpf做了个<2048>小游戏,顺便在<Git教程>学习下git,也顺便把在<写让别人能读懂的代码>收获的插件用起来(和之前用的VisualAssist功能有重复调了半天(╯‵□′)╯︵┻━┻,不过整合之后真心好用).之后又用这个界面写了几个其他游戏,虽然逻辑都非常简单(不如2048复杂),不过也算举一反三吧……代码都在GitHub <2048> 别踩白块 找不同 MORE…

Wix 安装部署教程(九) --用WPF做安装界面

经常安装PC端的应用,特别是重装系统之后,大致分为两类.一类像QQ,搜狗输入法这样的.分三步走的:第一个页面可以自定义安装路径和软件许可.第二个页面显示安装进度条,第三个页面推荐其他应用.先不管人家怎么实现的,我们先回顾一下. QQ:       再一个就是分六步或七步走的,如QQ影音:欢迎界面,用户许可,安装组件,安装目录,安装进度,安装完成,有七步的,一般会多一些软件推荐.当然还有其他的,比如是基于ClickOnce打包的,就一个界面,一个进度条.没有安装目录选择,这一般不是商业软件.先说第

Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面

在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果.另外ViewModel做了些调整,状态更加分明.安装效果是仿照搜狗输入法做的.先上效果图.   以上这只是四个基本的页面,更细化一些可以分出卸载的进度页面,卸载的完成页面,对修复同理,还有安装失败,用户取消提示页面,再就是能检测新版本并覆盖安装,这些都可以根据状态去添加页面.下面简单的说下思路和新的问题点. 关键流程 安

WPF做的迁移文件小工具

客户这边需要往服务器上传PDF文件.然后PDF文件很多,需要挑出来的PDF文件也不少.因此做了个小工具. 功能很简单,选定源文件夹,选定记录着要提取的文件的excel 文件.OK ,界面如下. XAML代码如下 <Window x:Class="文件迁移工具.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://sch

WPF为控件扩展的附加属性不起作用需要注意的地方

我给WPF控件扩展了一个名为CornerRadius的附加属性,以便于所有控件在重写ControlTemplate的时候,在ControlTemplate中先加上一个Border,然后利用附加的CornerRadius,设置圆角属性,看起来是这样的: <ControlTemplate TargetType="{x:Type TextBox}"> <Border x:Name="TextBorder" CornerRadius="{Bind

WPF做12306验证码点击效果

一.效果 和12306是一样的,运行一张图上点击多个位置,横线以上和左边框还有有边框位置不允许点击,点击按钮输出坐标集合,也就是12306登陆的时候,需要向后台传递的参数. 二.实现思路 1.获取验证码图片 首先,我们看12306登陆页面,F12,通过如图的位置,我们可以观察到,验证码的请求URL是“https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&0.8291445260649148

第一次用WPF做了一个成型实用的东西

在学习用C#读取更新EXCEL文件,顺手将找到的几段程序组织起来,就成了一个网页信息抓取程序,可用于批量查询,如考试成绩等.当然是不需要验证码的网站.目前可以实现对某一省份高考成绩的批量查询,很有成就感.齐鲁大地的朋友有需要的可联系我(QQ:33705931),前几年做类似的东西,用VFP+webBrower,哈..半成品的东西,只能自己用.

WPF做验证码,小部分修改原作者内容

原文地址:http://www.cnblogs.com/tianguook/p/4142346.html 首先感谢aparche大牛的帖子,因为过两天可能要做个登录的页面,因此,需要用到验证码,从而看到了大神的这篇帖子,十分感谢. 产生验证码的类ValidCode public class ValidCode { public enum CodeType { Words, Numbers, Characters, Alphas } private const double PI = 3.1415