私は非常に単純なように思えるものを達成しようとしています。ワークフローを持つ状態マシンワークフローコンソールアプリケーションがあります。私はそれのカスタムアクティビティを作成しました。この活動は決して使用されません。ワークフローでこのアクティビティを使用したいだけですが、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;
}
}
ありがとう:ここ
は、活動のためのコードです。EDIT:
OK、私は、私はコンソールアプリケーションからのクラスライブラリにプロジェクトの種類を変更した場合、カスタムアクティビティがツールボックスに表示されていることを発見しました。しかし、これは受け入れられません。それはコンソール/ Windowsアプリケーションである必要があります。
誰もがこのことを知っていますか?