Process.start引发异常:“无法将源转换为对象。”

时间:2019-07-25 10:06:12

标签: wpf vb.net xaml process.start

因此,我遇到了一个例外,即我有一个带有DataGridHyperlinkColumn的数据网格,其中已将Click事件连接到该网格。单元绑定到包含pdf文件路径的字符串。在一个简单的测试表单中,一切正常,但是在我的应用程序中出现了问题。我收到的异常消息是:Unable to convert source to object.吃了Process.start行。

某些代码:

XAML:

    <DataGrid
        Name="dgInvoices"
        Grid.Column="1"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch"
        AutoGenerateColumns="False"
        CanUserAddRows="False"
        Hyperlink.Click="DG_Hyperlink_Click"
        CanUserDeleteRows="False"
        ColumnWidth="*"
        HeadersVisibility="Column"
        ItemsSource="{Binding lstInvoices, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
        VerticalScrollBarVisibility="Visible">

            <DataGridHyperlinkColumn
                Width="*"
                Binding="{Binding InvoicePDF, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                Header="PDF"
                IsReadOnly="True"/>
            <!--<DataGridHyperlinkColumn.ElementStyle>
                    <Style>
                        <EventSetter Event="Hyperlink.Click" Handler="DG_Hyperlink_Click" />
                    </Style>
                </DataGridHyperlinkColumn.ElementStyle>
            </DataGridHyperlinkColumn>-->
        </DataGrid.Columns>

后面的代码:

''' <summary>
''' Open Invoice PDF
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
Private Sub DG_Hyperlink_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Try
        Dim link As Hyperlink = CType(e.OriginalSource, Hyperlink)
        Process.Start(link.NavigateUri.AbsoluteUri)
    Catch ex As Exception
        LocalMain.ShowError(ex.Message)
        Log.Exception(ex)
    End Try
End Sub

0 个答案:

没有答案