我在excel的上下文菜单上有一个CommandBarPopup,它包含三个CommandBarButtons,其中一个按钮打开一个网页,另外两个打开一个自定义任务窗格。
如果我使包含承载WPF用户控件的元素主机的自定义任务窗格可见,那么我添加的任何CommandBarButtons将停止工作。 即使我关闭自定义任务窗格,它仍然无法正常工作。
如果我对自定义任务窗格容器和Web浏览器执行相同操作,它似乎可以正常工作。
以下是我们正在使用的代码
private void InitializeComponent()
{
this.elementHost1 = new System.Windows.Forms.Integration.ElementHost();
this.myView = new MyView();
this.SuspendLayout();
//
// elementHost1
//
this.elementHost1.Dock = System.Windows.Forms.DockStyle.Fill;
this.elementHost1.Location = new System.Drawing.Point(0, 0);
this.elementHost1.Name = "elementHost1";
this.elementHost1.Size = new System.Drawing.Size(780, 560);
this.elementHost1.TabIndex = 0;
this.elementHost1.Text = "elementHost1";
this.elementHost1.Child = this.myView;
//
// MyTaskPane
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.elementHost1);
this.Name = "MyTaskPane";
this.Size = new System.Drawing.Size(780, 560);
this.ResumeLayout(false);
}
答案 0 :(得分:0)
所以答案是CommandBarButtons一旦变量范围结束就被处理了,这是令人惊讶的,因为我认为它们将被附加到excel应用程序对象。同时查看excel命令栏,我可以看到那里的按钮,但点击它们导致点击事件不会触发。 无论如何,我将它们存储在一个类变量中,然后再次工作。