Как сделать подсказку в datagrid
Перейти к содержимому

Как сделать подсказку в datagrid

Как создать всплывающую подсказку для DataGridColumnHeader в WPF?

Я нашел, как создать ToolTip для DataGridColumnHeader в WPF (и убедиться, что заголовок обернут).

Я могу использовать этот стиль следующим образом:

Это решение не очень хорошее, потому что мне нужно создать отдельный стиль для каждого заголовка, потому что всплывающая подсказка жестко привязана к стилю. Мне нужен общий стиль, который можно использовать следующим образом:

Есть идеи, как это сделать? Может быть с пристроенным имуществом?

2 ответа

Вы можете установить ToolTipService.ToolTip присоединяет свойство к каждому столбцу и привязывает к нему свои значения, поскольку оно не используется в столбцах.

Затем вы можете привязать этот текст к столбцу в своем стиле заголовка с помощью привязки RelativeSource .

Теперь у вас есть только один стиль. Если вы хотите избежать установки стиля для каждого столбца, сделайте его неявным, опуская x:Key . Затем он будет применен ко всем подходящим типам в области видимости.

Вы можете использовать DataGridTemplateColumn

Это может показаться слишком большим для каждого столбца. Но это дает вам гораздо больше контроля и лучшую масштабируемость для будущих сложных изменений. Его несколько тривиальная работа выполняется на начальном этапе разработки.

По крайней мере, это мое мнение, поскольку после успеха концепции появилось несколько дополнительных входов / изменений и новых требований для улучшения взаимодействия с пользователем с помощью определенных правил и логики о том, как / когда пользователь может взаимодействовать с элементами пользовательского интерфейса, особенно при изменении данных.

Редактировать — Ваш стиль может быть таким же, как и вы сами, то есть с ориентацией на DataGridColumnHeader .

Подсказка для DataGridView. C# WinForms

Подскажите как сделать подсказку для DataGridView(ToolTip), если это возможно, чтобы при наведении курсора мыши, выводилось, к примеру, «Элементы матрицы».

Добавлял ToolTip к DataGridView и писал туда «Элементы матрицы», в надежде, что при наведении курсора появится подсказка — но нет, не появляется.

На каком-то форуме есть один вариант — для каждого столбца сделать ToolTipText — но этот вариант мне не подходит.

Попробуй в datagridview.Rows[i].Tag загрузить информацию, после создай событие MouseEnter и тому подобное и через событие вызывай единый ToolTip и отправляй в качестве аргумента тот самый Tag

Для того, чтобы сделать подсказку для всей DataGridView, а не отдельных ячеек:

  1. Добавляется ToolTip.
  2. В св-ве DataGridView ToolTip на ToolTip1(если это первый тул тип) устанавливается текст самой подсказки.
  3. Св-во DataGridView ShowCellToolTips устанавливается false.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# winforms или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.13.42356

Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Практическое руководство. Определение текста всплывающих подсказок для отдельных ячеек элемента управления DataGridView в Windows Forms

По умолчанию подсказки используются для отображения значений ячеек DataGridView, в которых не помещается все содержимое. Однако это поведение можно переопределить, чтобы задать текстовые значения подсказок для отдельных ячеек. Это может быть полезно для показа пользователям дополнительных сведений о ячейке или предоставления пользователям альтернативного описания содержимого ячейки. Например, если имеется строка со значками состояния, может потребоваться предоставить текстовые пояснения с помощью подсказок.

Вы также можете отключить отображение подсказок на уровне ячейки, присвоив свойству DataGridView.ShowCellToolTips значение false .

Добавление подсказки для ячейки

Компиляция кода

Для этого примера требуются:

элемент управления DataGridView с именем dataGridView1 , содержащий столбец с именем Rating для отображения строковых значений с одним–четырьмя символами звездочки («*»); событие CellFormatting элемента управления должно быть связано с методом обработчика событий, показанным в примере;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *