在我的应用程序中,我将我的字符串属性绑定到textblock工具提示。 问题是我绑定的属性在运行时过于频繁地更新。因此,每次更新时,工具提示刷新甚至属性值都相同。
以下是代码:
<TextBlock Text="{Binding Key}" Margin="0,1" ToolTip="{Binding stringProperty}"/>
更新stringProperty后,工具提示会刷新。我想绑定属性,我只想在更新后的值不同或者可能需要很长时间后刷新工具提示。
答案 0 :(得分:1)
像这样。
public string stringProperty
{
get { return _stringProperty; }
set
{
if (!_stringProperty.Equals(value))
{
_stringProperty = value;
OnPropertyChanged("stringProperty"); //Notify UI only if there is new value
}
}
}
如果您愿意,可以Compare
与Trim
和CaseInsensitive
答案 1 :(得分:0)
private string _stringProperty;
public string stringProperty
{
get { return _stringProperty; }
set
{
if (!ReferenceEquals(_stringProperty, value))
{
_stringProperty = value;
OnPropertyChanged("stringProperty");
}
}
}
如果您使用ReferenceEquals
,如果NullReferenceException
为_stringProperty
,则不会抛出null
。