我想扩展团队资源管理器工作项编辑器,并在导出到 Excel、Outlook 等的同时使用自定义功能按钮,从当前工作项中获取信息。
我知道有一种方法可以修改项目本身,如witcustomcontrols.codeplex.com所述,但我宁愿不修改它们。
编辑器是否可以以这种方式扩展,或者有更好的方法来做到这一点?
最好的问候,汤米
我想扩展团队资源管理器工作项编辑器,并在导出到 Excel、Outlook 等的同时使用自定义功能按钮,从当前工作项中获取信息。
我知道有一种方法可以修改项目本身,如witcustomcontrols.codeplex.com所述,但我宁愿不修改它们。
编辑器是否可以以这种方式扩展,或者有更好的方法来做到这一点?
最好的问候,汤米
创建工作项自定义控件是完成您想要做的事情的方法。
您已经找到的项目 ( 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
}
}
如果您还有其他问题,请告诉我。