簡體   English   中英

更改辦公室功能區的運行時間

[英]Change office ribbon run time

我在帶有兩個ribbon.xml文件的項目上添加一個單詞。 我需要做的是在運行時更改當前功能區。

方法DocumentBase.CreateRibbonExtensibilityObject()可以用來完成這項工作。 但是我找不到在運行時觸發此方法的方法。 當應用啟動時,此方法觸發。

 protected override Microsoft.Office.Core.IRibbonExtensibility reateRibbonExtensibilityObject()
        {
            if (condition == true)
            {

                return Ribbon1;
            }
            else
            {
                return Ribbon2;
            }


        }

我需要在運行時更改當前應用程序功能區

此行為是設計使然。 加載項目時, 必須預先定義使用的Ribbon XML。 它不能在運行時更改或創建。

可以使用回調動態顯示或啟用控件。 控件上的標簽和圖像也可以動態加載。 列表和動態菜單可以動態填充。 在設計時將您可能需要的所有內容放入Ribbon XML中,然后隱藏/禁用默認情況下不可用的內容。

(響應評論中的后續操作)此外,根據設計,也無法使用第三方Ribbon定制。 太多的開發人員正在操縱內置菜單和第三方菜單以及工具欄-用戶認為Office應用程序“笨拙”,因為情況正在消失/改變。 因此,Ribbon UI僅允許訪問第三方控件( 如果有意“共享”了這些idQ )(通過使用idQ屬性)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM