Search code examples
c#wpfgridviewdatagriddatagridviewcolumn

Error while clicking Hyperlink


I have DataGrid in WPF which has column which contains HyperLink items which when clicked display those images. When i click Hyperlink my image gets displayed but i get this error.Image of Error is Attached .

Below is a xaml for DataGridView Hyperlink Column.

    <DataGridHyperlinkColumn Header="CNIC" Binding="{Binding s_man_image}" Width="100" >
                <DataGridHyperlinkColumn.ElementStyle>
                    <Style TargetType="TextBlock">
                        <EventSetter Event="Hyperlink.Click" Handler="DataGrid_Click" />
                    </Style>
                </DataGridHyperlinkColumn.ElementStyle>
            </DataGridHyperlinkColumn>

And this is code for DataGrid_Click Event

    private void DataGrid_Click(object sender, RoutedEventArgs e)
    {
        var hyperlink = e.OriginalSource as Hyperlink;
        if (hyperlink != null)
        {
            Process.Start(hyperlink.NavigateUri.ToString());
            e.Handled = true;
        }

    }

Solution

  • In the datagrid definition you are missing the actual destination itself,i. e the uri itself. You need to define it by using binding property and display the image using content binding property .

    DataGridHyperlinkColumn Header="CNIC"   Binding="{Binding Path=uri}"
                     ContentBinding="{Binding Path=s_man_image}" Width="100" >
                    <DataGridHyperlinkColumn.ElementStyle>