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) { }
- }