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一份)"===================== ...
随机推荐
- hdu1281棋盘游戏
Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只 ...
- Unity之GUI控件
在这里就贴一个连接吧:GUI
- "Classifying plankton with deep neural networks" notes
cross entropy loss is not quite the same as optimizing classification accuracy. Althougth the two ar ...
- [Poco库]使用经验
1. Link错误 在Windows平台下使用时link报错 "CreateProcess is not defined"的解决GetEnvironmentVariable / S ...
- 关于在页面上执行sql语句
在页面上执行sql语句,首先在页面上顶一个文本域,让用户输入需要执行的sql语句. html代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...
- 使用device.js检测设备并实现不同设备展示不同网页
现在很多时候会用@media来控制页面在不同分辨率的设备商展示不同效果,但是有些时候想在直接在PC上展示一个做好的页面,在mobile展示另一个页面.这个时候可以借助device.js来检测设备,然后 ...
- PHP 魔术常量__FUNCTION__与__METHOD__的区别
__FUNCTION__ 返回 函数名称(PHP 4.3.0 新加).自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写).在 PHP 4 中该值总是小写字母的. __METHOD__ ...
- PHP文件访问技术
<?php $file=fopen("test.txt","r"); //以只读方式打开test.txt $char=fgetc($file); echo ...
- Scrapy的架构初探
Scrapy,Python开发的一个web抓取框架. 1,引言 Python即时网络爬虫启动的目标是一起把互联网变成大数据库.单纯的开放源代码并不是开源的全部,开源的核心是“开放的思想”,聚合最好的想 ...
- Generator & yield write in sync way
Generator & yield write in sync way var p = new Promise(function(resolve, reject){ setTimeout(fu ...