如何在Avalonedit中确定文本被修改?我想通知用户,文本修改已保存/未保存到文件中。
我试过这样的代码,但IsModified属性接缝是在TextChanged事件发生后设置的。因此,我总是在前面的修改步骤中获得IsModified的值。
this.TextEditor.TextChanged += (o, i) =>
{
this.CurrentStatus = this.TextEditor.IsModified ? Status.FILENOTSAVED : Status.NONE;
};发布于 2015-10-29 03:05:58
IsModified是一个依赖属性。应使用WPF数据绑定将其绑定到CurrentStatus属性,而不是手动执行此操作。
或者,使用DependencyPropertyDescriptor监听依赖项属性的更改:
var dpd = DependencyPropertyDescriptor.FromProperty(TextEditor.IsModifiedProperty, typeof(TextEditor));
dpd.AddValueChanged(this.TextEditor, OnIsModifiedChanged);别忘了也要使用RemoveValueChanged,否则你会leak memory的。
https://stackoverflow.com/questions/33390456
复制相似问题