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一份)"===================== ...
随机推荐
- Object-C 重载
方法重载要保证三个条件 1在同一个类中 2.方法参数类型相同 名称相同 3.方法的参数不同 请看下面的例子 @interface whgMyObject : NSObject -(void)print ...
- Linux下安装jdk1.8
相信码农们绝对禁不住linux系统的诱惑,同样在linux的世界里少不了java,下面笔者就和大家分享一下我的jdk1.8安装过程吧,新接触linux的童鞋们完全可以按照我提供的图片中的命令来安装哦- ...
- 整理mysql的一些常用用法
在php项目中,使用mysql的一些常用的语句,今天有空系统整体一下.有些整理自网络,如有错误,请指正,谢谢.... #显示数据库和显示数据表show databases;use databaseNa ...
- mysql中select distinct的用法
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但 往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...
- getActionBar()空指针异常
网上的各种解决方案已经不少了,但是不适合于我的,谷歌一种新的解决方案 you can directly specify it in manifest file 1 2 3 4 <applicat ...
- 查看当前运行的SQL语句
WITH sess AS ( SELECT es.session_id, database_name = DB_NAME(er.database_id), er.cpu_time, er.reads, ...
- [问题解决]LaTex 进行中文文档操作
第一步,在\documentclass后输入 \usepackage{fontspec, xunicode, xltxtra} \usepackage{xeCJK}%中文字体 \setCJKmainf ...
- android 自定义AlertDialog
xml: alter_dialog_two <?xml version="1.0" encoding="utf-8"?> <LinearLay ...
- discuz方法赏析
public static function limit($start, $limit = 0) { $limit = intval($limit > 0 ? $limit : 0); $sta ...
- Qt部件--烧肉
1,QSplitter