思路:可能可以调用Javascript来弹出IE的“打开、另保存”对话框。但是这个方法,很容易被有些浏览器或防病毒拦截,并且有可能会在新的页面或页标签上打开,影响系统的完美性。而SL的FileSaveAs对话框不会被拦截,但是梅办法打开。
注意:不想要HyperlinkButton做过超级连接来打开,他同样存在被拦截的可能。而且我要的是在sl运行时的代码里面打开。
实际上OOB模式也不知道怎么搞。为什么?是因为你虽然可以创建Word对象,但是你没有办法获得要打开的文件的文件名(我指的是包含路径的文件名),你让Word怎么去打开?!!!!!
OOB模式下可以把文件先暂时存在本地硬盘上,然后调用Word.Application打开,我就是这样做的。
非OOB模式下只能用Javascript方式。
我跟你看法一样:OOB模式是个鸡肋
恐怕不行。非OOB下,Silverlight是不能和本地应用程序直接互操作的。
那请问OOB模式有办法么?我想一样没有办法。请回答。如果是这样的话,OOB就真的是不好说他了!!!据我所知:Word.Application不支持SaveToMemeory,不支持 OpenFromMemory,如果那个Word支持这两个操作的话,OOB就有希望打开一个不知道文件名的Word文档了。我们可以得到Word文档的内容放入一个Byte[]里面,可那个Word不认呀。
谢谢!
---
那么只有在OOB模式下打开了。1)调用SaveFileDialog, 2)Byte[]保存到文件,3)创建Word.Application,4)打开文件。
问题是中间多了一个给出文件名的步骤,没有那么直接,没那么直接也罢,还要给出“另存为”的对话框,而另存为,实际上又是“打开”,让使用者多少有点疑惑或不舒服。算了,就那样。主要是OOB少了一些功能,如js里面的东西,我要配合着用,现在没有了。
OOB真的是一个鸡肋。
我用js打开,但是老被其它工具拦截,破坏我的界面。