在@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文件更新组合框列表,而不是每次我想更新列表时都要重新编码软件。感谢。
答案 0 :(得分:1)
您正在尝试将ComboBox1.SelectedValue(这是一个字符串)转换为ComboBoxItem对象。
我认为你可以使用:
sFileName = ComboBox1.SelectedValue
或者你的组合框不是文件名列表吗?