ワークフローの呼び出しと変数の受け渡し
ワークフローの呼び出しと変数の受け渡し
使用:invoke workflow file
1. フローの途中で他のフローを呼び出したい時は、invoke workflow fileを使用する。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/cf3cb1dbd0efe81a98bd0badeed2891e_c6e315d53b059e3c25f79e8e05c1d2df.jpg?width=960)
画像はswitchというワークフローを呼び出す場合
2.呼び出すだけであれば、前項目の通りxamlファイルを参照して完了。共通の変数処理がある場合は、import argumentを使用して変数を渡したり受けたりする。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/58891f8cd7770008d5daa93719d22f68_a8b8c4375fb9215cf0c74d8b17e3cfa8.jpg?width=960)
3.まず、メインワークフローで初期値0のcount変数を作り、前項目のmessage boxを実行する。結果は下記画像の通り。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/a98063a64fccfc544d43535937413983_8c45bb02d2974697df2fdf91736ee999.jpg?width=960)
4.続いて、変数のままでは受け渡しが出来ない為、argumentという項目から受け渡しを行う為の箱aaa(引数)を作成する。
![](https://cdn.amebaowndme.com/madrid-prd/madrid-web/images/sites/332380/429854e9d047912a55d047de6e8448c2_e132efb453fe6368d40f790a84b6a90b.jpg?width=960)
サブフロー(この場合はswitch.xaml)に変数を渡すだけの場合はDirectionをIn、貰うだけの場合はOut、両方の場合はIn/Outを選択する。
5.aaa(引数)を作った後は、invoke workflow fileのedit argumentからもaaaの内容を設定する。
受け渡ししたい値はcount変数なので、valueにcountを入れる。
6.続いてサブフロー(switch)側でもaaa引数を作成する。サブ側にはinvoke workflowは無いので、内容は特に設定せず、同じ箱を作るだけ。
7.これで一旦メイン→サブへの引き渡し準備はできたので、一旦メインのフローを実行し、サブ側にaaaの内容が渡っているか確認してみる。ちなみにサブ側のcount変数の初期値は空白なので、受け渡しが出来ていれば「0」、出来ていなければ「空白」が表示されるはずである。
結果↓
8.無事受け渡しは完了しているので、サブフロー側でcountの内容を変更し、変更後の値を表示してみる。
0だったcountに1を入れ、その後countをaaaに入れる。この時点の実行結果は下記画像の通り。サブ側引数の中身が更新された事が確認できる。
9.続いてメインフローに戻り、countの値がちゃんとメインフローにも戻ってきているか確認を行う。ちゃんと戻っていれば「1」が表示され、失敗していれば初期値の0が表示される。
結果↓
結果の通り、メインフロー側では一切count変数の値更新を行っていないが、しっかりとサブフロー側で処理された変更値が反映されている事が確認できる。