web-dev-qa-db-fra.com

Comment ajouter une info-bulle à un DataGridTextColumn

J'utilise WPFtoolkit DataGrid, je dois encapsuler le texte dans un DataGridTextColumn ou je dois ajouter un ToolTip à la colonne de texte. J'ai cherché sur le net mais je n'ai pas pu trouver de solution appropriée. En attendant vos précieuses suggestions ...

56

Oui, vous pouvez ajouter du texte d'info-bulle à DataGridTextColumn - il suffit de le styliser

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

Je ne sais pas si vous pouvez ajouter une info-bulle à un DataGridTextColumn mais vous pouvez facilement utiliser le DataGridTemplateColumn et le ToolTipService à la place. par exemple.

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

Dans cet exemple Moniker.Abbreviation s'affiche dans la colonne. Lorsque l'utilisateur survole une cellule, le nom complet du courtier (Moniker.Name) s'affiche dans l'info-bulle.

Remarque: Cet exemple a été tiré d'une application Silverlight 3.0.

18
Mark Gladding