我有一个带有文本文件编辑器的项目,但是我需要实现一个功能,在文件中有变化,它会在文件标题旁边的标题中显示星号(*)
,因此它通知用户那里的变化当您编辑xaml文件或编辑您获得(*)
该文件被修改的代码时,Visual Studio中的文件...相同。
在光盘上修改文件时,是否有一些方法可以添加以执行此功能?
答案 0 :(得分:0)
如果您使用的是MVVM,则可以使用依赖于另一个的属性。
更改IsDirty
标志后,会在DecoratedTitle
class Document : INotifyPropertyChanged
{
private bool isDirty;
public bool IsDirty
{
get { return isDirty; }
set
{
isDirty = value;
OnPropertyChanged();
OnPropertyChanged("DecoratedTitle");
}
}
private String title;
public String Title
{
get { return title; }
set
{
title = value;
OnPropertyChanged();
}
}
public String DecoratedTitle
{
get { return title + (isDirty ? " (*)" : ""); }
}
private void OnPropertyChanged([CallerMemberName] string propName = null)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
public event PropertyChangedEventHandler PropertyChanged;
}
然后你可以将窗口绑定到DecoratedTitle:
<Window Title="{Binding DecoratedTitle}" >
此致