1

カスタム デザイナー (WPF) を使用した WF4 カスタム アクティビティがあります。アクティビティがデザイン モードか実行モードかによって、CacheMetaData オーバーライドの動作を少し変えたいと思います。

編集:要件の理由。 web.config ファイル (またはそのインクルードの 1 つ) からデータを検索する必要がある検証があります。実行時には System.Configuration.ConfigurationManager を使用でき、設計時には EnvDte を使用してプロジェクト構造を調査する必要があります。

アクティビティはデバッグできるため、どちらの場合も VS である可能性があるため、確認できません。

WF4 内に、現在のモードを確認するために呼び出すことができるサービスはありますか?

4

3 に答える 3

1

私の知る限り、そうする良い方法はありません。

プロセス名で確認できます。devenv の場合、Visual Studio にいます (デバッグしている場合は、.vshost がタグ付けされたプロジェクト名になります。ただし、デザイナーは再ホストされる可能性があるため、信頼性にはほど遠いものです。

于 2010-05-13T09:27:07.593 に答える
1

できることの 1 つは、実行時のアクティビティとは別の設計時のアクティビティを実際に持つことです。これが私がやっていることです。少し手間がかかり、ニーズに対してやり過ぎかもしれません。詳細については、この WFフォーラムの投稿を確認してください。

于 2010-06-25T20:27:44.877 に答える
0

この要件の理由が純粋に検証である場合、EnvDTE を必要とする検証ロジックをデザイナー コンポーネントに移動して、ランタイム検証ロジックだけをアクティビティ自体に残すことはできませんか?

于 2010-08-04T23:40:03.530 に答える