当文件更改时在 header 中显示通知星号 (*)
show Notification stars (*) in header when a file changes
我有一个带有文本文件编辑器的项目,但我需要实现一个功能,在其中更改文件时它将在文件标题旁边的 header 中显示星星 (*)
,所以它通知用户文件中有更改...当您编辑 xaml 文件或编辑您获得的代码时 visual studio 相同 (*)
该文件已修改。
当光盘上的文件被修改时,我可以添加一些方法来实现该功能吗?
如果您使用的是 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;
}
然后您可以将 window 绑定到 DecoratedTitle :
<Window Title="{Binding DecoratedTitle}" >
此致
我有一个带有文本文件编辑器的项目,但我需要实现一个功能,在其中更改文件时它将在文件标题旁边的 header 中显示星星 (*)
,所以它通知用户文件中有更改...当您编辑 xaml 文件或编辑您获得的代码时 visual studio 相同 (*)
该文件已修改。
当光盘上的文件被修改时,我可以添加一些方法来实现该功能吗?
如果您使用的是 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;
}
然后您可以将 window 绑定到 DecoratedTitle :
<Window Title="{Binding DecoratedTitle}" >
此致