Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何使用选定的组合框项目显示XPS文档_Vb.net - Fatal编程技术网

Vb.net 如何使用选定的组合框项目显示XPS文档

Vb.net 如何使用选定的组合框项目显示XPS文档,vb.net,Vb.net,我对编程非常陌生,所以如果这个问题看起来很基本,请原谅我。我开发了我的第一个应用程序——xps查看器。我想要实现的是允许用户从我在组合框中预定义的一系列选项中选择要打开的文档 我在网上到处搜索,找不到一篇文章告诉我如何做到这一点。目前MSDN对我来说有点太神秘了,所以我感到困惑。非常感谢你的帮助 PS>我想我使用的是FixedDocumentViewer,希望我写对了。谢谢 Kismet假设这是一个WPF应用程序,您将向表单中添加一个按钮并向该按钮添加一个单击事件在设计器中选择按钮,显示属性,在

我对编程非常陌生,所以如果这个问题看起来很基本,请原谅我。我开发了我的第一个应用程序——xps查看器。我想要实现的是允许用户从我在组合框中预定义的一系列选项中选择要打开的文档

我在网上到处搜索,找不到一篇文章告诉我如何做到这一点。目前MSDN对我来说有点太神秘了,所以我感到困惑。非常感谢你的帮助

PS>我想我使用的是FixedDocumentViewer,希望我写对了。谢谢


Kismet

假设这是一个WPF应用程序,您将向表单中添加一个按钮并向该按钮添加一个单击事件在设计器中选择按钮,显示属性,在属性中选择事件选项卡,然后双击单击行上的空列

另外,假设组合框包含要向用户显示的文件名,则按钮单击事件将类似于:

Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Try
        Dim sFileName As String

        sFileName = DirectCast(ComboBox1.SelectedValue, String)
        If Not String.IsNullOrEmpty(sFileName) Then
            Dim theDocument As New System.Windows.Xps.Packaging.XpsDocument(sFileName, System.IO.FileAccess.Read)

            documentViewer1.Document = theDocument.GetFixedDocumentSequence()
        End If
    Catch ex As Exception
        MessageBox.Show("Exception: " & ex.Message)
    End Try
End Sub

谢谢你的技术。我刚下班,我要试试这个代码——希望它能工作。我真的很想学习编程,所以我可能会回来让你解释一下你用这段代码到底做了什么。好的,所以我尝试了这段代码,得到了以下异常:Type System.Windows.Xps.Packaging.XpsDocument未定义我应该在代码中放入USING或IMPORTS语句吗?如蒙答复,将不胜感激。谢谢。好的,所以我做了一些搜索,最终发现我得到了异常,因为我没有将REACHFRAMEWORK dll添加到我的项目中。所以我这么做了,代码运行得很好。现在的问题是如何将ComboboxItem链接到特定的XPS文档,以便将路径信息传递给代码?我会对此做一些研究,但也会感谢你的帮助。再次感谢。@KismetAgbasi:组合框问题的答案将取决于您如何加载它。您最好的选择可能是通过勾选答案旁边的复选标记将此答案标记为已回答,然后为组合框问题打开一个新问题。当你打开问题时,你应该包括你用来填充组合框的代码,以及你需要访问的文档存储位置的信息。谢谢,我会照你说的做。