MarkWord
MarkWord - 可发布博客的 Markdown编辑器 代码开源

1 /// <summary>
2 /// 同步呈现
3 /// </summary>
4 /// <param name="value"></param>
5 public void LoadBody(string MarkValue)
6 {
7
8 if (winWebDoc.Document == null)
9 return;
10 winWebDoc.Document.InvokeScript("updatePageContent", new object[] { CommonMark.CommonMarkConverter.Convert(MarkValue) });
11 }
12
13 /// <summary>
14 /// 文本更变
15 /// </summary>
16 /// <param name="sender"></param>
17 /// <param name="e"></param>
18 private void textEditor_TextChanged(object sender, EventArgs e)
19 {
20 if (!isLoadFlag)
21 {
22 if (this.textEditor.Text != "" && scrViewer != null)
23 if (scrViewer.ScrollableHeight == scrViewer.VerticalOffset)
24 scrViewer.ScrollToBottom();
25
26 BLL.FileManager.isChangeFlag = true;
27 }
28 //加载文档
29 if (MarkDoc == null)
30 return;
31 if (Config.Common.WorkType == WorkType.Both)
32 {
33 MarkDoc.LoadBody(this.textEditor.Text);
34 }
35 }
36 //////////////////////////////////////////////////////////////////////////////////
37 /// <summary>
38 /// 同步滚动
39 /// </summary>
40 /// <param name="value"></param>
41 public void ScrollAuto(double value)
42 {
43 if (winWebDoc.Document == null)
44 return;
45 winWebDoc.Document.InvokeScript("scrollToPageContent", new object[] { value.ToString(System.Globalization.CultureInfo.InvariantCulture) });
46
47 }
48 //计算比例
49 public double ScrollViewerPositionPercentage
50 {
51 get
52 {
53 double num = this.scrViewer.ExtentHeight - this.scrViewer.ViewportHeight;
54 double result;
55 if (num != 0.0)
56 {
57 result = this.scrViewer.VerticalOffset / num;
58 }
59 else
60 {
61 result = 0.0;
62 }
63 return result;
64 }
65 }
66
67 //触发同步
68 private void scrViewer_ScrollChanged(object sender, ScrollChangedEventArgs e)
69 {
70 if (MarkDoc == null) return;
71 if (Config.Common.WorkType == WorkType.Both)
72 {
73 MarkDoc.ScrollAuto(this.ScrollViewerPositionPercentage);
74 }
75 }

至此,Markword 中设计到的内容点已经基本覆盖到了,如有疑问欢迎交流!!!
最后来一发小广告
NetAnalyzer2016网络协议分析软件源码开放购买,可以分析80多种协议,支持http数据还原(包含chunked和gzip数据) ,欢迎大家可以支持一下!!
墨云NetAnalyzer官网
代码购买链接
如有疑问欢迎QQ联系:470200051
祝大家周末愉快
MarkWord的更多相关文章
- MarkWord - 可发布博客的 Markdown编辑器 代码开源
因为前一段时间看到 NetAnalyzer 在Windows10系统下UI表现惨不忍睹,所以利用一段时间为了学习一下WPF相关的内容,于是停停写写,用了WPF相关的技术,两个星期做了一个Markdow ...
- 码农会锁,synchronized 对象头结构(mark-word、Klass Pointer)、指针压缩、锁竞争,源码解毒、深度分析!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 感觉什么都不会,从哪开始呀! 这是最近我总能被问到的问题,也确实是.一个初入编程职场 ...
- JAVA锁的膨胀过程和优化
首先说一下锁的优化策略. 1,自旋锁 自选锁其实就是在拿锁时发现已经有线程拿了锁,自己如果去拿会阻塞自己,这个时候会选择进行一次忙循环尝试.也就是不停循环看是否能等到上个线程自己释放锁.这个问题是基于 ...
- vim 使用
vim有三种模式:输入模式,命令模式,底行模式,使用esc进入命令模式,在命令模式下按英文的冒号,进入底行模式:命令行模式下按i进入输入模式.vim编辑文件是将文件内容复制到缓冲区显示在屏幕上. vi ...
- HotSpotOverview.pdf
从oracle官网下载的这个HotSpot虚拟机的概况文档,现在翻一下锁的部分: Java 锁 *每一个java对象都是一个潜在的monitor(监视器) >synchronized 关键字 * ...
- vim(5)vim下wimrc的配置,解决中文乱码问题
解决linux下vim乱码的情况:(修改vimrc的内容) 全局的情况下:即所有用户都能用这个配置 文件地址:/etc/vimrc 在文件中添加: ,ucs-bom,gb18030,gbk,gb231 ...
- VI经典插件ctags
Vi经典插件ctags(转) (为了提高工作效率,必须学会使用一些工具) . 查看 key 相关信息说明的命令 :help keycodes ============================= ...
- Debian环境下vi设置
下面给出一个vi编辑器的配置文件,可以放到用户目录的.vimrc文件中: "========================================================= ...
- linux vim 配置文件(高亮+自动缩进+行号+折叠+优化)
点评:将一下代码copy到 用户目录下 新建文件为 .vimrc保存即可生效 如果想所有用户生效 请修改 /etc/vimrc (建议先cp一份)"===================== ...
随机推荐
- ios字符串截取
最近刚从 . net 转到ios平台 又开始了新的学习,所以开始写博客,这样可以让我每天都能进步一点点 对字符串的操作很多情况下和c#中的不一样 1.字符串的声明 //声明字符串 NSString ...
- oracle11g用户名密码不区分大小写
oracle 11g 以前的版本的用户名和密码是不区分大小写的; oracle 11g 用户名和密码默认区分大小写,可更改alter system set sec_case_sensitive_log ...
- Java与C++相异的地方
继承标识:Java使用extends/implement,C++使用: super:调用父类的某些东西 instanceof:RTTI机制(A is instanceif B) final:类似于C+ ...
- 用apiCloud开发应用
使用apiCloud开发应用就是用html5写页面,css实现样式,js写功能.一套代码在android和ios上都能运行.节省开发周期和人员开销. 代码可以放到云服务器,可以云端打包,云端更新. a ...
- 获得easyUi dialog 对话框title的属性值
<div id="dlg" class="easyui-dialog" title="Toolbar and Buttons" sty ...
- ORM和Core
.net core中有哪些被抛弃的类 1.DataTable DataRow SqlDataAdapter DataRow DataColumn DataColumn 虽然这些类不是我ORM核心功能 ...
- 关于Program Size
Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 Code是代码占用的空间,RO-data是 Read Only 只读常 ...
- UIViewController、UINavigationController与UITabBarController的整合使用
UINavigationController与UITabBarController是iOS开发中最常用的两种视图控制器,它们都属于UIViewController的子类,继承关系如下: @interf ...
- 开源消息总线ActiveMQ
一.消息中间件MOM(Message-Oriented Middleware) 消息中间件是解决异步分布式系统中通讯和排队问题的中间件技术.它利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数 ...
- JavaScript 的DOM操作
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. Windows 对象操作 ...