我想完成一些看起來應該很簡單的事情。我有一臺帶有工作流的狀態機工作流控制檯應用程序。我爲它創建了一個自定義活動。這項活動永遠不會被任何地方使用。我只想在我的工作流程中使用此活動,但是:WF - 如何使用自定義活動而不在獨立的工作流活動庫中創建它?
- 它不會出現在工具箱中。
- 我無法將它從解決方案資源管理器拖到工作流設計器上。
我絕對不想創建一個單獨的狀態機工作流活動庫,因爲那樣會混亂我的解決方案。就像我說過的,我不會在任何其他項目中使用這個活動,所以我想將它限制在這個項目中......但我無法弄清楚如何將它應用到設計器上!我會瘋了嗎?
下面是活動的代碼:
public partial class GameSearchActivity: Activity
{
public GameSearchActivity()
{
InitializeComponent();
}
public static DependencyProperty QueryProperty = System.Workflow.ComponentModel.DependencyProperty.Register("Query", typeof(string), typeof(GameSearchActivity));
[Description("Query")]
[Category("Dependency Properties")]
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public string Query
{
get
{
return ((string)(base.GetValue(GameSearchActivity.QueryProperty)));
}
set
{
base.SetValue(GameSearchActivity.QueryProperty, value);
}
}
public static DependencyProperty ResultsProperty = System.Workflow.ComponentModel.DependencyProperty.Register("Results", typeof(string), typeof(GameSearchActivity));
[Description("Results")]
[Category("Dependency Properties")]
[Browsable(true)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public IEnumerable<Game_GamePlatform> Results
{
get
{
return ((IEnumerable<Game_GamePlatform>)(base.GetValue(GameSearchActivity.ResultsProperty)));
}
set
{
base.SetValue(GameSearchActivity.ResultsProperty, value);
}
}
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{
IDataService ds = executionContext.GetService<IDataService>();
Results = ds.SearchGames(Query);
return ActivityExecutionStatus.Closed;
}
}
感謝。
編輯:
OK,所以我發現,如果我從控制檯應用程序更改項目類型爲類庫,自定義活動出現在工具箱中。但是,這是不可接受的。它需要是一個控制檯/ Windows應用程序。
任何人都知道解決這個問題的方法?