解决Actions Pane排版的老大难问题

微软在Smart Document技术中第一次引入了Task Pane这个自定义的可能。但是由于Smart Document需要XML Expansion Pack,所以部署会比较麻烦一点。而且Smart Document是基于COM技术的,并且其上也只能放一些标准的控件,所以使用的人也许并不多。
后来的Visual Studio Tools for Office 2005(VSTO2)中包括了一个叫做Actions Pane的技术。该技术就是基于Smart Document的Task Pane来实现的。应用了Actions Pane的Code Behind Document都会attach上一个Microsoft Actions Pane XML Extension Pack。这个标准的Extension Pack添加了一个Actions Pane,然后VSTO自己做了一个.NET的控件宿主,然后这个宿主本身作为ActiveX控件。这样.NET的控件就能往Actions Pane上放了。但是这个实现有一些问题,主要是在排版上有一些毛病。具体表现为:1、高度不会随着宿主文档窗口的缩放而改变。2、Dock与Anchor失效。
解决这两个问题的方案其实很简单。对于高度缩放问题,自己手工监听Task Pane的事件,然后把高度手工设置给里面的控件。对于Dock与Anchor失效的问题,就是不要用Dock与Anchor。但是没有强大的Dock与Anchor如何排版呢?其实.NET 2.0中有两个很强大的排版控件。一个是Flow Layout Panel,一个是Table Layout Panel。我就是主要仰仗Table Layout Panel完成细节上的排版工作的。

你可能感兴趣的:(.net,工作,xml,Microsoft,Office)