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一份)"===================== ...
随机推荐
- linux下Java环境的配置
linux下Java环境的配置 现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java ...
- 解决IP地址被占用问题
问题背景: 在公司一直有同事在抱怨IP地址总是被占用的问题,我决定用技术解决这个问题 解决方案: 1 最开始想在防火墙里面做IP和mac地址绑定,做了几个之后,还是有同事在说IP被占用,后来 分析了一 ...
- Git 和 SVN之间的五个基本区别
GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征.所以,这篇文章的主要目的就是 ...
- [Linked List]Remove Nth Node From End of List
Total Accepted: 84303 Total Submissions: 302714 Difficulty: Easy Given a linked list, remove the nth ...
- linux下的gdb调试工具--断点调试
到目前为止我们的调试手段只有一种: 根据程序执行时的出错现象假设错误原因,然后在代码中适当的位置插入printf,执行程序并分析打印结果,如果结果和预期的一样,就基本上证明了自己假设的错误原因,就可以 ...
- python----iter\next
1.说明:__getitem__\setitem可以迭代,它已经不被推荐了:建议使用__iter__\next. 2.python会先去检查__iter__\next然后再去检查__getitem__ ...
- jQuery随记
每次申明一个jQuery对象的时候,返回的是jQuery.prototype.init对象,很多人就会不明白,init明明是jQuery.fn的方法啊,实际上这里不是方法,而是init的构造函数,因为 ...
- Oracle EBS-SQL (MRP-2):检查期间主计划录入记录数.sql
SELECT FU.description 创建者, MSD.CREATION_DATE 创建日期, ...
- 震撼,强烈推荐 OrangeUI For FireMonkey
今天,高勇上传了一个演示rtx for kbmMW的android应用,我下载测试,被实际的效果给震惊了!万万想不到的,用OrangeUI做的一个List列表,数据通过远程查询,运行效果在我看来,达到 ...
- 使用jpeglib库实现bmp转jpg
一.vc编译jpeglib库 1.下载源代码 下载地址:http://www.ijg.org/.注意:一定要下载win32 版本 2.编译源代码. A.解压源代码,修改源代码中jconfig.vc为j ...