2017-03-19 119 views
0

有沒有任何方法可以通過驗證委託傳遞發送的活動,而不僅僅是輸入字符串?如果可能的話,這將非常酷。通過字段而不是字符串輸入傳遞活動

FormBuilder<BusinessTrip> builder = new FormBuilder<BusinessTrip>(); 
return builder.Field(nameof(Order.Date), "When did you order the product?", validate: async (state, input) => { 
    // Do something. 
}) 
+0

你想實現什麼? –

+0

我希望能夠獲得ChannelId和ChannelData – Tom

回答

0

你不能。如果要將活動中的數據傳遞到FormFlow,請使用表單狀態來存儲它們。當您實例化數據時,您可以將數據傳遞給狀態FormFlow

var myform = new FormDialog<MyFormState>(new MyFormState(activity.ChannelId, activity.ChannelData), BuildForm, FormOptions.PromptInStart, null); 

context.Call<MyFormState>(myform, FormCompleteCallback); 
+0

好的,謝謝。 FormFlow僅實例化一次,對嗎?所以在我的表單對話框中,我只有從啓動表單的消息中獲得第一個ChannelData,對嗎? – Tom

+0

是的,就像任何其他對話一樣。 –