2016-10-04 14 views
0

私のアプリケーションでは、私の文字列プロパティをtextblockツールチップにバインドします。 問題は、バインドするプロパティが実行時に頻繁に更新されることです。だから更新されるたびにツールチップが更新されてもプロパティ値は同じです。バインディングのリフレッシュを防ぐ方法

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

したい場合は、あなたがReferenceEqualsを使用する場合_stringPropertynullであれば、それはNullReferenceExceptionはスローされませんTrimCaseInsensitive

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

Compare文字列ができます。