現在の作業項目から情報を取得して、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
}
}
ご不明な点がございましたら、お気軽にお問い合わせください。