2017-10-05 14 views
0

嘿,我的單詞插件有問題。當側面板關閉時字外接程序不更新功能區

基本上我有一個功能區和側面板。當我點擊我的功能區上的顯示面板時,它會顯示我的面板,當我單擊隱藏時,它隱藏面板。

現在我遇到的問題是,當我點擊加載項右上角的'x'按鈕時,顯示/隱藏按鈕不會改變文本。

任何人都可以告訴我如何添加一個事件監聽器或沿着這些行的側面板關閉更改文本?

enter image description here

enter image description here

namespace examplele_word 
{ 
    /// <summary> 
    /// Interaction logic for MainContainerPanel.xaml 
    /// </summary> 
    public partial class MainContainerPanel : UserControl 
    { 
     private WordDocInstanceController _controller; 
     public WordDocInstanceController controller { 
      get { 
       return this._controller; 
      } 
      set { 
       this._controller = value; 
       this.itemDetailsPanel.controller = value; 
       this.searchItemsPanel.controller = value; 
       this.loginPanel.controller = value; 
      } 
     } 

     public MainContainerPanel() 
     { 
      InitializeComponent(); 
     } 

     public void showLoginPanel() 
     { 
      itemDetailsPanel.Visibility = Visibility.Hidden; 
      searchItemsPanel.Visibility = Visibility.Hidden; 
      loginPanel.Visibility = Visibility.Visible; 
     } 
     public void showSearchItemsPanel() 
     { 
      loginPanel.Visibility = Visibility.Hidden; 
      itemDetailsPanel.Visibility = Visibility.Hidden; 
      searchItemsPanel.resetPanel(); 
      searchItemsPanel.Visibility = Visibility.Visible; 
     } 
     public void showItemDetailsPanel (ItemDTO item) 
     { 
      itemDetailsPanel.displayNewItem(item); 
      loginPanel.Visibility = Visibility.Hidden; 
      searchItemsPanel.Visibility = Visibility.Hidden; 
      itemDetailsPanel.Visibility = Visibility.Visible; 
     } 


    } 
} 
+0

您可以在這個問題你當前的代碼? – hellyale

+0

我需要嗎?基本上我想知道如何覆蓋側面板上的關閉事件。我不確定我目前的代碼是如何幫助的 – Seamy

+0

您的視圖背後的代碼可能有最快的答案路徑... – hellyale

回答

0

您可以處理VisibleChanged事件,以確定當最終用戶關閉自定義任務窗格。但請注意,Office應用程序會阻止您更改VisibleChanged事件處理程序中的某些自定義任務窗格屬性,包括Width,Height,VisibleDockPosition。如果您嘗試修改這些屬性,您將收到COMException

顯示/隱藏按鈕不會更改文本

這是你的責任來改變取決於任務窗格狀態色帶上的文字。功能區UI和自定義任務窗格未互相連接。

要完成工作,您需要使用調用IRibbonUI.InvalidateIRibbonUI.InvalidateControl方法,該方法可以使Ribbon用戶界面的一個或所有控件的緩存值無效。

在功能區回調中,您需要根據任務面板狀態返回適當的值。

瞭解更多關於在下面的文章中流利的UI(又名的Ribbon UI):