2015-11-10 49 views
0

我有一個帶有文本文件編輯器的項目,但我需要實現功能,其中文件中有更改會顯示星號(*)我在文件標題旁邊的標題,所以它會通知用戶文件發生了變化......當您編輯xaml文件或編輯您獲得的代碼時,在visual studio中也是如此(*)該文件被修改。當文件更改時顯示在標題中的通知星標(*)

當光盤上的文件被修改時,是否可以添加某些方法來執行此功能?

+0

如果您發現有未保存的變化,你可以設置一個「髒」標誌。無論這是否爲真,顯示或隱藏'*' – Domysee

回答

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}" > 

問候

+0

謝謝..它的作品像一個冠軍..謝謝你 –