Как насчет создания собственного стиля для всплывающей подсказки? Таким образом, вы можете повторно использовать одну и ту же функциональность в нескольких местах с минимальным кодом.
Добавьте это в ресурсный словарь и добавьте его туда, где хотите переопределить поведение всплывающей подсказки по умолчанию -
<Style TargetType="ToolTip" x:Key="{x:Type ToolTip}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Content,
RelativeSource={RelativeSource Self},
Converter={local:ToolTipContentConverter}}"
Value="">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
Вслед за конвертером -
[ValueConversion(typeof(object), typeof(string))]
public class ToolTipContentConverter : MarkupExtension, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value ?? string.Empty;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
return this;
}
}
Надеюсь, это поможет ..
Amit