2009-07-22 2 views

ответ

14

Я не уверен, что вы можете добавить всплывающую подсказку в DataGridTextColumn, но вы можете легко использовать DataGridTemplateColumn и ToolTipService. например

<data:DataGrid.Columns> 
    <data:DataGridTemplateColumn Header="Broker"> 
     <data:DataGridTemplateColumn.CellTemplate> 
      <DataTemplate> 
       <TextBlock Text="{Binding Moniker.Abbreviation}" 
          ToolTipService.ToolTip="{Binding Moniker.Name}" /> 
      </DataTemplate> 
     </data:DataGridTemplateColumn.CellTemplate> 
    </data:DataGridTemplateColumn> 
</data:DataGrid.Columns> 

В этом примере Moniker.Abbreviation отображается в столбце. Когда пользователь наводится на ячейку, в подсказке отображается полное имя брокера (Moniker.Name).

Примечание: этот пример был взят из приложения Silverlight 3.0.

+1

Это также работает в Silverlight, попали сюда из лучших 3 хитов от поиска Google. Конечно, измените xml ns на «sdk:» вместо «data:», если ваш код соответствует последним шаблонам SLamam SL. – yzorg

+0

Хотя я не работаю с Silverlight, это единственный ответ, который также работал для меня. Самый популярный ответ приводит к исключению в моем приложении. – Endery

88

Да, вы можете добавить текст всплывающей подсказки к DataGridTextColumn - просто стилизовать его

<DataGridTextColumn Header="ScreenName" Binding="{Binding ScreenName}" > 
    <DataGridTextColumn.CellStyle> 
     <Style TargetType="DataGridCell"> 
      <Setter Property="ToolTip" Value="{Binding Name}" /> 
     </Style> 
    </DataGridTextColumn.CellStyle> 
</DataGridTextColumn> 
+0

для любого пользователя Silverlight, см. Ответ [@ MarkGladdling] (http://stackoverflow.com/a/1977545/80428) – Jay

+1

FYI, я боролся с этим некоторое время, пока не понял, что если для параметра «IsHitTestVisible» установлено значение FALSE всплывающие подсказки datagrid не работают. – BrianVPS

+0

Можете ли вы добавить изображение и/или отредактировать фон всплывающей подсказки каким-то образом при использовании этого подхода? – ajr

Смежные вопросы