WPF データグリッドでハイパーリンククリックを処理
[WPF Tips]
1.状況
DataGrid コントロールのセルにハイパーリンクを配置したい。
2.対応
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) { }
}
