在 Office 2007 中引入功能區用戶界面的同時,咱們還引入了
RibbonX(功能區擴展性)模型,這是一種以編程方式自定義 Office 用戶界面的新方法。RibbonX 容許第三
方開發人員和解決方案提供商針對客戶特定應用場合及優化場合,在功能區的基礎上經過創做自定義選項卡和組來構建該模型。
經過爲新 Backstage 視圖的自定義設置提供支持,Office 2010 擴大了 UI 擴展性平臺的範圍。它還在已有 RibbonX 平臺中增長了幾項強大的新功能。
擴展 Backstage 視圖
Backstage 視圖是 Office UI 新的組成部分。它提高了文件級功能(打印、共享、分發、協做等),就像功能區提高文檔建立功能同樣。如何使第三
方以有意義的方式輕鬆擴展 Backstage 視圖的沉浸式 UI,這是咱們所關注的 Office 2010 擴展性的一個重要方面。
有人可能會問:「何時適合擴展功能區?何時適合擴展 Backstage 視圖?」。若是您正在構建針對文檔編輯和內容生成場合的解決方案(即客戶在處理文檔
內容 時,您提供的功能能夠幫助客戶),則應擴展功能區。另外一方面,若是您的客戶須要一個解決方案,以幫助他們
處理文檔以及與這些文檔關聯的流程和自定義工做流,則建議擴展 Backstage。
示例 1 – 經過自定義 Backstage 選項卡高效管理項目/流程
現在,經過協做改進文檔遠甚以往,這種方式可以使文檔在各個階段和週期中轉移。與這些文檔關聯的流程一般是高度自定義流程並特定於組織。Backstage 視圖提供了一個適當的位置來展現有關文檔和這些獨特流程的自定義信息,使用戶可以在各個階段「移動」這些文檔。
如下是一個加載項,它能夠將自定義「Contoso 流程」(Contoso Process) 選項卡添加到 Backstage 視圖中。示例中的全部自定義 UI 均使用新的 Backstage 擴展性模型構建而成。「Contoso 流程」(Contoso Process) 選項卡顯示有關電子表格的相關元數據、其所處的階段以及電子表格要進入下一階段所需執行的其他步驟。「設計階段日程安排 」(Schedule For Design Phase) 和「開放式設計問題」(Open Design Issues) 組爲紅色,代表存在須要當即引發注意的問題。右圖提供了一個放大圖片,它歸納了其餘全部相關電子表格目前在流程中所處的階段。不難想像如何從承載這些電子表格的 SharePoint 庫中提取全部這些自定義元數據。
「Contoso 流程」(Contoso Process) UI 顯示自定義元數據以及用於流程管理的可感知上下文的自定義 UI
當全部開放式設計問題獲得解決後,便可以編程方式啓用該選項卡上方的「退出設計階段」(Exit Design Phase) 按鈕。單擊該按鈕時,電子表格將進入法律審查階段,而且該選項卡會動態更新其內容,以顯示新的狀態和新階段的各項要求。
「Contoso 流程」(Contoso Process) UI 動態更新,以反映電子表格所進入的新階段
示例 2 – 集成自定義功能與內置 Backstage 選項卡
假設您是一名解決方案開發人員,您的客戶須要常常共享文檔。他們喜歡 Backstage 視圖中內置的「共享」(Share) 選項卡功能,但也但願採用一種直接的方式經過 Windows Live Hotmail 和 Facebook 交換文檔。Backstage 擴展性容許您建立這些自定義功能並將其集成到內置的「共享」(Share) 選項卡中。
下面顯示了自定義的「使用電子郵件發送」(Send Using E-Mail) 窗體,其中包含「經過 Hotmail 發送」(Send via Hotmail) 組(圖片右下方):
「經過 Hotmail 發送」(Send via Hotmail) 自定義組集成到內置的「使用電子郵件發送」(Send Using E-mail) 窗體中
下面顯示了自定義的「共享」(Share) 選項卡,其中包含新的「發表到 Facebook」(Post to Facebook) 任務(以及相關窗體):
對內置的「共享」(Share) 選項卡進行了擴展,使其包含「發表到 Facebook」(Post to Facebook) 自定義任務
示例 3 – 在 Backstage 視圖中添加自定義文件級快速命令
如今,假設您是一名開發人員,您的客戶須要同時在多個文檔中執行大量的數據編輯工做。他們頻頻打開和關閉文檔,而且不但願在關閉文檔時出現保存更改的提示。
利用 Backstage 視圖擴展性,您能夠用「保存並關閉」(Save and Close) 自定義控件(在關閉文檔前自動保存)輕鬆替換內置的「關閉」(Close) 命令。
將內置的「關閉」(Close) 替換爲自定義的「保存並關閉」(Save & Close) 以前和以後的 Backstage 中的導航窗格
Backstage 視圖擴展性 – 高級概覽(針對開發人員)
可在包含功能區和上下文菜單自定義項的同一標記文件中定義 Backstage 自定義設置;Backstage 只不過是另外一個頂級節點。其內部層次結構在不少方面都與功能區相似。與功能區同樣,Backstage 主要使用選項卡做爲其核心構建塊。Backstage 選項卡能夠包含一列或兩列組。前面示例中的自定義「Contoso 流程」(Contoso Process) 選項卡包含如下兩列:
與功能區不一樣,Backstage 還能夠在頂級承載按鈕。這些按鈕在導航窗格中以快速命令的形式顯現,如前面示例中的「保存並關閉」(Save and Close) 命令。
儘管功能區和 Backstage 中的組在內容的空間組織上有所不一樣,但它們能夠承載衆多相同的控件類型,而且這些控件的
回調(自定義函數,用來定義特定控件行爲並由 Office 代碼調用)在二者間相同。
在即將推出的試用版文檔中,將提供有關 Backstage 擴展性及其結構和功能的更詳細信息。由於咱們已開始向公衆提供 Office 2010 試用版,因此將在
MSDN 上的 Office 開發人員中心網站上發佈該文檔,其中將包括完整的 Backstage XML 架構,內置控件 ID 列表、有關 Backstage 擴展性的詳盡介紹文章以及大量 Backstage 擴展性代碼示例。
Office 2007 中的 Office 菜單自定義設置
若是您的解決方案在 Office 2007 中自定義了 Office 菜單,則它在 Office 2010 中依然有效。原來添加到 Office 菜單中的全部自定義功能都將出如今 Backstage 導航窗格的「加載項」(Add-Ins) 彈出菜單中:
自定義 Office 菜單項(來自 Office 2007)顯示在 Backstage 的導航窗格中
RibbonX 平臺改進
從建立功能區解決方案的開發人員那裏,咱們經常聽到這樣的要求,即增長選項卡激活和組自動縮放功能。選項卡激活功能容許開發人員按需激活選項卡,使選項卡出如今前臺(就好像該選項卡已被選中)以響應某個事件。組自動縮放功能容許自定義功能區組調整其佈局,以適應水平窗口的大小。此外,他們還要求提升上下文菜單擴展性。咱們在 Office 2010 中已知足了全部這些要求。
選項卡激活支持
假設您利用幾個自定義選項卡構建了一個 Excel 解決方案。若是您的每一個自定義選項卡都與某個特殊數據類型相關,那麼您可能須要確保在用戶與相應數據類型交互時,使適當的選項卡正好出如今前臺。對 IRibbonUI 對象使用 ActivateTab 方法便可實現此目的(將其傳遞給用來指定要激活的自定義選項卡的字符串類型的參數):
IRibbonUI.ActivateTab(String tabID)
可使用「並行」ActivateTabMso 方法激活內置選項卡,使用 ActivateTabQ 方法激活在多個加載項間共享的選項卡(ActivateTabQ 還須要一個字符串類型的參數,該參數指定目標加載項的命名空間)。
自定義組自動縮放
您或許已經注意到,當調整窗口大小時,
內置功能區組會更改其佈局。當窗口變大時,功能區中的組會利用相應空間來顯示標籤,或者增大某些命令的大小;當窗口縮小時,這些組會進行調整,並將多個功能「打包」到較小的空間中。
假設您的解決方案的客戶但願在非最大化窗口中運行,以便他們能夠同時看到多個應用程序。可是,他們但願在縮小應用程序窗口時,您的自定義組中的命令不要立刻縮小成一個按鈕,致使他們還需再次單擊。您沒必要爲自定義組規定在
什麼時候 或確切地以
何種方式 縮放,在 Office 2010 中,您只需指明組應自適應地改變其佈局(經過將其 autoScale 屬性設置爲「true」)便可,Office 會確保它儘可能符合改變的窗口大小。
下面的示例演示如何使用 autoScale=true 縮放加載項組;請注意,應爲組自己指定圖標,由於當組最終轉變成一個按鈕時,將使用該圖標:
在 Office 2010 中,自定義組能夠改變其佈局以適合大小通過調整的應用程序窗口
上下文菜單擴展性
若是您正在 Office 基礎之上構建解決方案,那麼高效訪問經常使用的上下文功能對解決方案用戶而言很是重要,您可能考慮過自定義右鍵單擊菜單。某些上下文菜單經過 CommandBars 對象模型已變成可擴展菜單。可是,不能經過此方式更改另一些上下文菜單。例如,PowerPoint 2007 包含不能經過 CommandBars OM 訪問的上下文菜單,而且也不能經過 CommandBars OM 將某幾個控件類型(庫、分割按鈕)添加到上下文菜單中。
在 Office 2010 中,您也能夠依靠熟悉的 RibbonX 模型自定義上下文菜單。如今,能夠在自定義的上下文菜單中添加內置菜單中受支持的全部控件類型。在 Office 2010 中,能夠經過自定義 UI 標記(承載了功能區的標記)中的新頂級節點訪問上下文菜單。
Excel 中的自定義單元格上下文菜單,其中添加了自定義分隔按鈕、庫和分隔符
結束語
藉助新的 Backstage 擴展性平臺和功能區擴展性加強功能,您能夠構建比以往更加豐富的 Office 2010 解決方案。咱們但願您已經在 Office 2010 技術預覽版中開始使用這些功能,並熱切指望您繼續提出反饋意見。
相關文章
- Mirko Mandic,Office 用戶體驗計劃經理
更新 - 11 月 3 日:在文章末尾的「相關文章」中添加了指向更多資源的連接。
更新 - 11 月 20 日:隨 Office 2010 公共 Beta 版本提供了更多技術文章,參見 Mirko 在下面的註釋(發表於 11 月 20 日)可瞭解詳情。