3

我想扩展团队资源管理器工作项编辑器,并在导出到 Excel、Outlook 等的同时使用自定义功能按钮,从当前工作项中获取信息。

我知道有一种方法可以修改项目本身,如witcustomcontrols.codeplex.com所述,但我宁愿不修改它们。

编辑器是否可以以这种方式扩展,或者有更好的方法来做到这一点?

最好的问候,汤米

4

1 回答 1

4

创建工作项自定义控件是完成您想要做的事情的方法。

您已经找到的项目 ( witcustomcontrols.codeplex.com ) 是了解创建工作项自定义控件的机制的一个很好的起点,因此我将限制自己描述实现自定义按钮的基础知识的细节。

创建一个派生自 System.Windows.Button 的控件并从 OnClick 方法访问 WorkItemDatasource 属性。

这应该让你开始:

using System;
using System.Collections.Specialized;
using System.Windows.Forms;
using Microsoft.TeamFoundation.WorkItemTracking.Client;
using Microsoft.TeamFoundation.WorkItemTracking.Controls;

namespace Wicc {
    public class ButtonControl: Button, IWorkItemControl {
        public ButtonControl() {

        }
        protected override void OnClick(EventArgs e) {
            WorkItem workItem = this.WorkItemDatasource as WorkItem;

            // the rest of your code
        }

        #region IWorkItemControl Members

        public event EventHandler AfterUpdateDatasource;

        public event EventHandler BeforeUpdateDatasource;

        public void Clear() {
        }

        public void FlushToDatasource() {
        }

        public void InvalidateDatasource() {
        }

        public StringDictionary Properties {get; set;}

        public bool ReadOnly {get; set;}

        public void SetSite(IServiceProvider serviceProvider) {
        }

        public object WorkItemDatasource { get; set; }

        public string WorkItemFieldName { get; set; }

        #endregion
    }
}

如果您还有其他问题,请告诉我。

于 2012-06-28T21:28:46.650 回答