情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

WPFでDataGridで列の範囲内に収まらない情報をツールチップに表示する

こんな感じで良いでしょう。

<dg:DataGrid>
    <dg:DataGrid.Columns>
        <dg:DataGridTemplateColumn x:Name="dgtcRatingText" Header="評価">
            <dg:DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBlock x:Name="tbRatingText" Text="{Binding RatingText}" MouseEnter="tbRatingText_MouseEnter" MouseLeave="tbRatingText_MouseLeave"></TextBlock>
                </DataTemplate>
            </dg:DataGridTemplateColumn.CellTemplate>
        </dg:DataGridTemplateColumn>
        (省略)
    </dg:DataGrid.Columns>
</dg:DataGrid>
private void tbRatingText_MouseEnter(object sender, MouseEventArgs e)
{
    if ((sender as TextBlock).ActualWidth > dgtcRatingText.ActualWidth)
        (sender as TextBlock).ToolTip = (sender as TextBlock).Text;
}

private void tbRatingText_MouseLeave(object sender, MouseEventArgs e)
{
    (sender as TextBlock).ToolTip = null;
}
pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-C#, wpf