首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AvalonEdit :文本状态

AvalonEdit :文本状态
EN

Stack Overflow用户
提问于 2015-10-28 19:58:34
回答 1查看 351关注 0票数 2

如何在Avalonedit中确定文本被修改?我想通知用户,文本修改已保存/未保存到文件中。

我试过这样的代码,但IsModified属性接缝是在TextChanged事件发生后设置的。因此,我总是在前面的修改步骤中获得IsModified的值。

代码语言:javascript
复制
this.TextEditor.TextChanged += (o, i) =>
{
   this.CurrentStatus = this.TextEditor.IsModified ? Status.FILENOTSAVED : Status.NONE;
};
EN

回答 1

Stack Overflow用户

发布于 2015-10-29 03:05:58

IsModified是一个依赖属性。应使用WPF数据绑定将其绑定到CurrentStatus属性,而不是手动执行此操作。

或者,使用DependencyPropertyDescriptor监听依赖项属性的更改:

代码语言:javascript
复制
var dpd = DependencyPropertyDescriptor.FromProperty(TextEditor.IsModifiedProperty, typeof(TextEditor));
dpd.AddValueChanged(this.TextEditor, OnIsModifiedChanged);

别忘了也要使用RemoveValueChanged,否则你会leak memory的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33390456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档