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

[WPF Tips]

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

1.状況

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

2.対応

wpf_data_grid_hyperlink

3.参考

4.サンプル

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

  1. <DataGrid ItemsSource="{Binding Items}">
  2. <DataGrid.Columns>
  3. <DataGridHyperlinkColumn Header="URL" Binding="{Binding Url}">
  4. <DataGridHyperlinkColumn.ElementStyle>
  5. <Style>
  6. <EventSetter Event="Hyperlink.Click" Handler="Hyperlink_Click"/>
  7. </Style>
  8. </DataGridHyperlinkColumn.ElementStyle>
  9. </DataGridHyperlinkColumn>
  10. </DataGrid>

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

  1. ///
  2. /// ハイパーリンクをクリックしたときの処理
  3. ///
  4. private void Hyperlink_Click(object sender, RoutedEventArgs e)
  5. {
  6. try
  7. {
  8. Hyperlink link = (Hyperlink)e.OriginalSource;
  9. Process.Start(link.NavigateUri.AbsoluteUri);
  10. }
  11. catch (Exception) { }
  12. }

Follow me!

コメントを残す

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