現在、Workflow Foundation 4 の使用を練習していますが、問題が発生しました。ループを含むワークフローを作成しました。特定の要件が満たされると、ワークフローは終了します。結果を得るのに問題はありませんが、やりたいことは、ワークフローの実行中にワークフローの状態を監視し、基本的な UI に表示できるようにすることです。次のように想像してください。
while(x>0)
{
delay for 2 seconds
assign x=x-1
}
私がやりたいことは、表示ロジックをワークフローに書き込むことなく、UI に x 値を表示できるようにすることです。これにより、再利用可能のままになります。(基本的にワークフローをモデルとして使用)
を書き込んでNativeActivity
ブックマークを作成し、Idle イベント ハンドラでワークフローの変数にアクセスしようとしましたが、うまくいきませんでした。
注: もちろん、実際のワークフローは単純なループ カウントではありませんが、詳細に入る必要はありません。
編集:ワークフロー拡張機能の作成を続けようとしましたが、あまり運がありませんでした。これが私がしたことです:
public class Watcher : IWorkflowInstanceExtension { プライベート WorkflowInstanceProxy インスタンスプロキシ;
public IEnumerable<object> GetAdditionalExtensions()
{
return null;
}
public void SetInstance(WorkflowInstanceProxy instance)
{
instanceproxy = instance;
}
public Dictionary<string, int> GetData()
{
???
}
}
そのため、関心のある値の辞書を返すというアイデアでした。問題は、WorkflowInstanceProxy クラスに、ワークフロー変数を抽出するために使用できるものがないように見えることです。