Имеется коллекция объектов:
public class Param
{
public string Name { get; set; }
public string Description { get; set; }
}
Эту коллекцию необходимо привязать к ComboBox так, чтобы в качестве элемента списка был Name, а в качестве всплываемой подсказки при наведении на каждый элемент был Description. Это легко делается:
Все бы ничего, но как сделать так, чтобы когда Description null или пустой, ToolTip вообще не отображался. Сейчас отображается пустой квадратик. Вариант ниже не помог. Заранее спасибо.
Ответ
У вас как-то сложно. Значение null должно убирать ToolTip и так, так что проблема только с пустой строкой. Проще всего просто отловить это через конвертер.
class NullIfEmptyConverter : IValueConverter
{
public object Convert(object value, Type targetType, object p, CultureInfo ci) =>
(string)value == string.Empty ? null : value;
public object ConvertBack(object value, Type targetType, object p, CultureInfo ci) =>
throw new NotSupportedException();
}
(или, как подсказывает @Андрей в комментариях, string.IsNullOrWhiteSpace((string)value) ? null : value).
Ваш код получается таким:
Не забудьте положить в ресурсы окна
Комментариев нет:
Отправить комментарий