|
Silverlight 實(shí)例教程索引
- Silverlight 實(shí)例教程 - Out of Browser開篇
- Silverlight 實(shí)例教程 - Out of Browser配置,安裝和卸載
- Silverlight 實(shí)例教程 - Out of Browser的自定義應(yīng)用
- Silverlight 實(shí)例教程 - Out of Browser存取本地文件系統(tǒng)
- Silverlight 實(shí)例教程 - Out of Browser與COM的交互基礎(chǔ)
- Silverlight 實(shí)例教程 - Out of Browser與Office的互操作
- Silverlight 實(shí)例教程 - Out of Browser的Debug和Notifications窗口
- Silverlight 實(shí)例教程 - Out of Browser音樂播放器
- Silverlight 實(shí)例教程 - Out of Browser與COM互操作實(shí)例
- Silverlight 實(shí)例教程 - Out of Browser在線更新和Silent安裝
在上篇“Silverlight實(shí)例教程 - Out of Browser與COM的交互基礎(chǔ)”中,我們討論了Silverlight的OOB應(yīng)用訪問COM組件基礎(chǔ)知識(shí),在大家的反饋中,有不少朋友提出疑問,Silverlight對(duì)于COM的支持,使其失去跨平臺(tái)的優(yōu)越性,另外,Silverlight僅有Out of Browser模式能支持COM,是否仍舊存在較大的局限性? 對(duì)此在本篇我們不進(jìn)行長篇分析和討論,只是簡單的把我的看法說一下。
Silverlight Out of Browser從Silverlight 3 到現(xiàn)在Silverlight 4,一直遵循跨平臺(tái)的原則,在微軟官方有相關(guān)的解釋,
Linux,Moonlight從第一個(gè)版本發(fā)布,就已經(jīng)有了高級(jí)權(quán)限模型,在GtkWidget中Moonlight具有full-trust的能力。 也就是說,Silverlight具有信任權(quán)限提升,而Mono具有full-trust模式。
Mac, 由于Mac沒有Com的概念,所以,Silverlight的COM無法在Mac中運(yùn)行,但是微軟官方也正在尋找一種方式,嘗試使用一種模擬的方式來實(shí)現(xiàn)在Mac上運(yùn)行COM的效果,例如,運(yùn)行AppleScript:
在上面的腳本中可以看出,Mac如何通過AppleScript來調(diào)用Office Word的,而這樣的方式其實(shí)也就是Mac對(duì)COM的調(diào)用,在以后Silverlight的版本中,如果加入對(duì)AppleScripts的支持即可在Mac上支持COM的運(yùn)行;
從上面的描述來看,Silverlight的OOB應(yīng)用跨平臺(tái),并非不能解決,只是時(shí)間的問題。作為技術(shù)人員,經(jīng)常對(duì)一門技術(shù)的前景進(jìn)行展望,而需要注意的是,盡量不要使用其短處與其他技術(shù)的長處進(jìn)行相比較,這樣的對(duì)比結(jié)果,只會(huì)干擾自己的視線和思路。一門能掙錢的技術(shù),就已經(jīng)算是一門好技術(shù)了。
Out of Browser與Office的互操作
言歸正傳,本篇將繼續(xù)介紹Silverlight的Out of Browser應(yīng)用與Office COM組件的交互。相信大家對(duì)微軟的Office系列并不陌生了,Office在企業(yè)項(xiàng)目中使用頻率較高,例如在日常項(xiàng)目中經(jīng)常與遇到導(dǎo)出列表到Excel,或者發(fā)送郵件等功能需求,所以微軟將其許多功能封裝成COM組件,供開發(fā)人員使用,增強(qiáng)其應(yīng)用的靈活性。本篇,我將演示在Silverlight的OOB應(yīng)用中,如何使用Office Outlook,Word,Excel組件。
我們?nèi)耘f使用上篇的項(xiàng)目代碼,對(duì)其進(jìn)行擴(kuò)展,大家可以到上篇下載演示項(xiàng)目代碼。在開始功能代碼前,首先需要在UI界面ToolBar中添加三個(gè)Button來響應(yīng)其事件。
2 <StackPanel>
3 <StackPanel Orientation="Horizontal">
4 <Button IsTabStop="False" Width="56" Height="80" Style="{StaticResource BlackGlossyButton}" Margin="1,0,0,0" Foreground="White" x:Name="sendemailBtn" Click="sendemailBtn_Click">
5 <StackPanel>
6 <Image VerticalAlignment="Top" HorizontalAlignment="Center" Source="/SilverlightOOBDemo;component/Images/SendEmail.png" Margin="0,-5,0,0" Stretch="None" />
7 <TextBlock VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,3,0,0" Text="發(fā)郵件" TextWrapping="Wrap"/>
8 </StackPanel>
9 </Button>
10
11 <Button IsTabStop="False" Width="56" Height="80" Style="{StaticResource BlackGlossyButton}" Margin="1,0,0,0" Foreground="White" x:Name="excelBtn" Click="excelBtn_Click">
12 <StackPanel>
13 <Image VerticalAlignment="Top" HorizontalAlignment="Center" Source="/SilverlightOOBDemo;component/Images/Excel.png" Margin="0,-5,0,0" Stretch="None" />
14 <TextBlock VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,3,0,0" Text="Excel" TextWrapping="Wrap"/>
15 </StackPanel>
16 </Button>
17
18 <Button IsTabStop="False" Width="56" Height="80" Style="{StaticResource BlackGlossyButton}" Margin="1,0,0,0" Foreground="White" x:Name="wordBtn" Click="wordBtn_Click">
19 <StackPanel>
20 <Image VerticalAlignment="Top" HorizontalAlignment="Center" Source="/SilverlightOOBDemo;component/Images/Word.png" Margin="0,-5,0,0" Stretch="None" />
21 <TextBlock VerticalAlignment="Bottom" HorizontalAlignment="Center" Margin="0,3,0,0" Text="Word" TextWrapping="Wrap"/>
22 </StackPanel>
23 </Button>
24 </StackPanel>
25 <TextBlock Foreground="#8FFFFFFF" Text="Office操作" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="2" />
26 </StackPanel>
27 </Border>
NET技術(shù):Silverlight實(shí)例教程 - Out of Browser與Office的互操作,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。