如何解决此投射错误?

时间:2011-12-29 04:46:12

标签: vb.net

在@competent_tech的帮助下,我已经能够通过单击按钮选择我的组合框,并通过一些VB代码解析以显示文档。

一切似乎都运行良好,直到我决定使用以下代码将组合框绑定到XML文件:

<ComboBox Name="ComboBox1" ItemsSource="{Binding Source={StaticResource vehicleID}, XPath=//manualtype/ipck/vin}" IsReadOnly="True"></ComboBox>

这是我在button.click事件中使用的代码:

Try
        Dim sFileName As String

        If ComboBox1.SelectedValue IsNot Nothing Then
            sFileName = DirectCast(ComboBox1.SelectedValue, ComboBoxItem).Content.ToString()
            Dim theDocument As New System.Windows.Xps.Packaging.XpsDocument(System.IO.Path.Combine("C:\EMR", sFileName & "ipck.xps"), System.IO.FileAccess.Read)
            DocumentViewer1.Document = theDocument.GetFixedDocumentSequence()
        End If
    Catch ex As Exception
        MessageBox.Show("ERROR: " & ex.Message)
    End Try

组合框工作正常 - 显示XML文件中的值,但是,每当我选择一个项目并单击按钮时,我现在收到一条错误消息。错误消息指出:“无法将类型'SYSTEM.STRING'的对象转换为类型'SYSTEM.WINDOWS.CONTROLS.COMBOBOXITEM'。

请帮我解决这个问题,因为我希望能够通过XML文件更新组合框列表,而不是每次我想更新列表时都要重新编码软件。感谢。

1 个答案:

答案 0 :(得分:1)

您正在尝试将ComboBox1.SelectedValue(这是一个字符串)转换为ComboBoxItem对象。

我认为你可以使用:

sFileName = ComboBox1.SelectedValue

或者你的组合框不是文件名列表吗?