Страницы

Поиск по вопросам

вторник, 21 мая 2019 г.

Настройка ToolTip для Combobox WPF

Имеется коллекция объектов:
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).
Ваш код получается таким:

Не забудьте положить в ресурсы окна

Комментариев нет:

Отправить комментарий