|
Silverlight 實例教程索引
- Silverlight 實例教程 - Out of Browser開篇
- Silverlight 實例教程 - Out of Browser配置,安裝和卸載
- Silverlight 實例教程 - Out of Browser的自定義應用
- Silverlight 實例教程 - Out of Browser存取本地文件系統
- Silverlight 實例教程 - Out of Browser與COM的交互基礎
- Silverlight 實例教程 - Out of Browser與Office的互操作
- Silverlight 實例教程 - Out of Browser的Debug和Notifications窗口
- Silverlight 實例教程 - Out of Browser音樂播放器
- Silverlight 實例教程 - Out of Browser與COM互操作實例
- Silverlight 實例教程 - Out of Browser在線更新和Silent安裝
在上篇“Silverlight實例教程 - Out of Browser與COM的交互基礎”中,我們討論了Silverlight的OOB應用訪問COM組件基礎知識,在大家的反饋中,有不少朋友提出疑問,Silverlight對于COM的支持,使其失去跨平臺的優越性,另外,Silverlight僅有Out of Browser模式能支持COM,是否仍舊存在較大的局限性? 對此在本篇我們不進行長篇分析和討論,只是簡單的把我的看法說一下。
Silverlight Out of Browser從Silverlight 3 到現在Silverlight 4,一直遵循跨平臺的原則,在微軟官方有相關的解釋,
Linux,Moonlight從第一個版本發布,就已經有了高級權限模型,在GtkWidget中Moonlight具有full-trust的能力。 也就是說,Silverlight具有信任權限提升,而Mono具有full-trust模式。
Mac, 由于Mac沒有Com的概念,所以,Silverlight的COM無法在Mac中運行,但是微軟官方也正在尋找一種方式,嘗試使用一種模擬的方式來實現在Mac上運行COM的效果,例如,運行AppleScript:
在上面的腳本中可以看出,Mac如何通過AppleScript來調用Office Word的,而這樣的方式其實也就是Mac對COM的調用,在以后Silverlight的版本中,如果加入對AppleScripts的支持即可在Mac上支持COM的運行;
從上面的描述來看,Silverlight的OOB應用跨平臺,并非不能解決,只是時間的問題。作為技術人員,經常對一門技術的前景進行展望,而需要注意的是,盡量不要使用其短處與其他技術的長處進行相比較,這樣的對比結果,只會干擾自己的視線和思路。一門能掙錢的技術,就已經算是一門好技術了。
Out of Browser與Office的互操作
言歸正傳,本篇將繼續介紹Silverlight的Out of Browser應用與Office COM組件的交互。相信大家對微軟的Office系列并不陌生了,Office在企業項目中使用頻率較高,例如在日常項目中經常與遇到導出列表到Excel,或者發送郵件等功能需求,所以微軟將其許多功能封裝成COM組件,供開發人員使用,增強其應用的靈活性。本篇,我將演示在Silverlight的OOB應用中,如何使用Office Outlook,Word,Excel組件。
我們仍舊使用上篇的項目代碼,對其進行擴展,大家可以到上篇下載演示項目代碼。在開始功能代碼前,首先需要在UI界面ToolBar中添加三個Button來響應其事件。
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="發郵件" 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技術:Silverlight實例教程 - Out of Browser與Office的互操作,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。