侧面板关闭时,单词加载项不更新功能区

时间:2017-10-05 15:06:09

标签: c# vsto

嘿,我的单词加载项存在问题。

基本上我有一个色带和一个侧面板。当我单击功能区上的显示面板时,它会显示我的面板,当我单击隐藏时,它现在会隐藏面板。

现在我遇到的问题是当我点击加载项右上角的“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;
      }


    }
}

1 个答案:

答案 0 :(得分:0)

您可以处理VisibleChanged事件以确定最终用户何时关闭自定义任务窗格。但请注意,Office应用程序会阻止您更改VisibleChanged事件处理程序中的某些自定义任务窗格属性,包括WidthHeightVisibleDockPosition 。如果您尝试修改这些属性,则会收到COMException

  

显示/隐藏按钮不会改变文字

您有责任根据任务窗格状态更改功能区上的文本。功能区UI和自定义任务窗格彼此不连接。

要完成工作,您需要使用IRibbonUI.InvalidateIRibbonUI.InvalidateControl方法调用,该方法可以使Ribbon用户界面的一个或所有控件的缓存值无效。

在功能区回调中,您需要根据任务面板状态返回适当的值。

在以下文章中阅读有关Fluent UI(又名Ribbon UI)的更多信息: