【发布时间】:2013-08-16 19:01:19
【问题描述】:
我需要显示一些ToolTips 并有一个CheckBox 来显示和隐藏它。我有数据绑定,但不会更新。 bool 值似乎始终为 true,这意味着即使未选中 CheckBox,ToolTip 也不会消失。
WPF 代码
<Button Name="btnCancel" Content="Cancel"
ToolTipService.IsEnabled="{Binding GeneralDisplayTooltipsForPreferencesAndSearchOptions}"
ToolTip="Discard Changes On All Tabs and Close Dialog"
Height="25" Width="80" Margin="0,5,2,5"
VerticalAlignment="Center" Click="btnCancel_Click"/>
C#
public class General : INotifyPropertyChanged, IPreferencesGeneral
{
private bool generalDisplayTooltipsForPreferencesAndSearchOptions = false;
[field: NonSerializedAttribute()]
public event PropertyChangedEventHandler PropertyChanged = delegate
{
};
public bool GeneralDisplayTooltipsForPreferencesAndSearchOptions
{
get { return generalDisplayTooltipsForPreferencesAndSearchOptions; }
set
{
if (!Equals(generalDisplayTooltipsForPreferencesAndSearchOptions, value))
{
generalDisplayTooltipsForPreferencesAndSearchOptions = value;
OnPropertyChanged("GeneralDisplayTooltipsForPreferencesAndSearchOptions");
}
}
}
}
【问题讨论】:
-
为什么将事件设置为委托?不应该只是宣布就足够了吗?另外,请包含绑定到
GeneralDisplayTooltipsForPreferencesAndSearchOptions的CheckBox的代码。 -
@Andy:有些人这样做是为了在引发事件之前不必检查
null。
标签: wpf data-binding tooltip