2009-07-22 17 views

Odpowiedz

14

Nie jestem pewien, czy można dodać etykietę narzędzia do DataGridTextColumn, ale można z łatwością korzystać z DataGridTemplateColumn i ToolTipService zamiast. na przykład

<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> 

W tym przykładzie Moniker.Abbreviation jest wyświetlany w kolumnie. Gdy użytkownik unosi się nad komórką, pełna nazwa brokera (Moniker.Name) jest wyświetlana w etykiecie narzędzia.

Uwaga: Ten przykład został zaczerpnięty z aplikacji Silverlight 3.0.

+1

Działa to również w Silverlight, mam tu z 3 najlepszych hitów z wyszukiwarki Google. Oczywiście zmień xml ns na 'sdk:' zamiast 'data:' jeśli twój kod pasuje do najnowszych szablonów SL xaml. – yzorg

+0

Chociaż nie pracuję z Silverlight, jest to jedyna odpowiedź, która również sprawdziła się u mnie. Najbardziej popularna odpowiedź powoduje wyjątek w mojej aplikacji. – Endery

88

Tak, można dodać tekst podpowiedzi do DataGridTextColumn - tylko stylizować to

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

dla każdego na Silverlight, patrz [@ Odpowiedź MarkGladdlinga] (http://stackoverflow.com/a/1977545/80428) – Jay

+1

FYI, Walczyłem z tym przez chwilę, dopóki nie zdałem sobie sprawy, że jeśli "IsHitTestVisible" jest ustawione na FALSE na etykiety narzędzi datagrid nie działają. – BrianVPS

+0

Czy możesz dodać obraz i/lub edytować tło podpowiedzi w jakiś sposób podczas korzystania z tego podejścia? – ajr

Powiązane problemy