WPF データグリッドでハイパーリンククリックを処理

[WPF Tips]

WPF アプリケーション作成で得たTipsをメモ

1.状況

DataGrid コントロールのセルにハイパーリンクを配置したい。

2.対応

wpf_data_grid_hyperlink

3.参考

4.サンプル

DataGridのカラムを、DataGridHyperlinkColumn とし、イベントハンドラを記述する。

<DataGrid ItemsSource="{Binding Items}">
    <DataGrid.Columns>
        <DataGridHyperlinkColumn Header="URL" Binding="{Binding Url}">
            <DataGridHyperlinkColumn.ElementStyle>
                <Style>
                    <EventSetter Event="Hyperlink.Click" Handler="Hyperlink_Click"/>
                </Style>
            </DataGridHyperlinkColumn.ElementStyle>
        </DataGridHyperlinkColumn>
</DataGrid>

イベントハンドラの処理を記述する。

///
/// ハイパーリンクをクリックしたときの処理
///
private void Hyperlink_Click(object sender, RoutedEventArgs e)
{
    try
    {
        Hyperlink link = (Hyperlink)e.OriginalSource;
        Process.Start(link.NavigateUri.AbsoluteUri);
    }
    catch (Exception) { }
}

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です