2016-10-04 70 views
0

在我的應用程序中,我將我的字符串屬性綁定到文本塊工具提示。 問題是我綁定的屬性在運行時更新太頻繁。所以每次更新時,即使屬性值相同,tooltip刷新也是如此。如何防止綁定刷新

以下是代碼:

<TextBlock Text="{Binding Key}" Margin="0,1" ToolTip="{Binding stringProperty}"/> 

當stringProperty更新提示刷新。我想要綁定屬性,並且我只希望工具提示刷新時更新的值不同或可能很長時間後。

+0

其實它是程序的設計。它需要經常更新,因爲它來自實時通信。我只是想阻止通知UI組件,即使綁定屬性已更改。這有可能嗎? –

回答

1

就是這樣。

public string stringProperty 
    { 
     get { return _stringProperty; } 
     set 
     { 
      if (!_stringProperty.Equals(value)) 
      { 
       _stringProperty = value; 
       OnPropertyChanged("stringProperty"); //Notify UI only if there is new value 
      } 
     } 
    } 

如果你願意,你可以CompareTrimCaseInsensitive

0
private string _stringProperty; 
public string stringProperty 
{ 
    get { return _stringProperty; } 
    set 
    { 
     if (!ReferenceEquals(_stringProperty, value)) 
     { 
      _stringProperty = value; 
      OnPropertyChanged("stringProperty"); 
     } 
    } 
} 

如果使用ReferenceEquals,它不會拋出NullReferenceException如果_stringPropertynull