2017-10-05 11 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):