个人资料:
它利用WPF作为前端技术,实现桌面版的微信多呼叫系统。 项目采用Prism作为前端框架,采用MVVM模式优秀的UI和逻辑代码分离,使用MefBootstrapper集成的MEF IOC容器解耦各模块对象。 合理利用IEventAggregator实现事件和交互。 brdzx在介绍支持功能时给出了实现参考,读者可以参考改进引入自己的项目中。
程序运行界面和功能预览:
一.登陆:
功能:支持用户和用户设置的记忆,可以选择用户密码的记忆。
实施相关:
定制登录窗口并部署Microsoft.windows.shell。 请参阅实现与WPF Custom Chrome Library和MSDNWindowChrome Class相关的自定义窗口。
最小化、最大化、关闭按钮功能的实现参考以上例子。
登录到按钮,定制样式,并重写Button的Template。 参考代码如下。
view代码
请记住密码。 使用XmlSerializer将用户信息序列化到本地xml配置文件中,并在程序启动时加载该xml配置文件。 使用方法MSDNXmlSerializer
二.聊天窗口、发送消息
功能:图文发送、表情发送、图片发送、截图、快速回复
RichTextBox相关实现:字符、表情、图像的所有输入都是在富文本框中实现的,因此对TextChanged事件处理一系列输入。
文字:不用做任何处理。
表情:在文本框中输入表情转义符号,根据转义符号找到对应的表情图像进行替换。 InlineUIContainer
Gif动态图表:由于WPF不支持Gif,因此创建用于显示Gif表情的自定义用户控件。 参见zddxte[WPF疑难解答)在WPF中显示动态GIF
截图功能:源代码在网上找到的是Winform的截图。 我修好了粗鲁的帽子,把它引入了项目。
三.客户名单
控件在TabControl中改写了TabControl的样式和TabItem的样式
view代码
四.快速返回面板
应用TreeView和HierarchicalDataTemplate实现树列表。
五.转接客户
定制客户窗口。 样式Xaml代码如下所示。
view代码
转发地址列表、样式Xaml代码如下。
状态
工作号码
昵称
view代码
关于以上控件的事件和命令,导入System.Windows.Interactivity。
将命名控件xmlns : I=' http://schemas.Microsoft.com/expression/2010/interactivity '导入Xmal
使用代码如下。
view代码
系统行为的屏幕截图:
说明:
程序UI的布局和展示都是模仿微信公众的官方程序,所有格式的源代码都是为本人编写的,参考了网络上的一些资源。
总结:
本文只是简单介绍,主要介绍了UI上的一些实现和功能介绍。 具体的业务逻辑要看今后能否添加,包括Prism的使用、微信公众号的相关知识等。
博客地址: http://www.cn blogs.com/zhoujun ding
博客版权:本文以学习、研究、分享为主,欢迎转载。 但是,必须在brdzx页面的明确位置注明原文连接,并保留此处的说明。
文章中有不当和错误的地方,请不要让读者产生误解。
感谢您的阅读。 喜欢的话请夸奖我。 【推荐】!