2013-09-23 104 views
2

我想構建一個應用程序來訂購餐廳中的產品。服務員會說命令「Product SomeProduct,Quantity SomeQuantity,Observation SomeObservation」。我看到許多使用預定義命令的本地語法文件的示例。我怎樣才能在運行時用來自數據庫的產品名稱構造一個語法文件?Windows Phone 8上的語音命令

+0

你好eric..i想建議你永遠不要打開你的工作公開 – loop

+0

@tanujkumarsharma謝謝你的建議的想法:) – erickalves05

回答

2

您可以在文件中定義語法,然後通過代碼更新可能的產品。例如,您可以擁有以下文件:

<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0"> 
    <CommandSet xml:lang="en-US" Name="ProductCommandSet"> 
    <CommandPrefix>MyApp</CommandPrefix> 
    <Example> Product some product </Example> 

    <Command Name="Product"> 
     <Example> Product some product </Example> 
     <ListenFor> Product {products} </ListenFor> 
     <Feedback> Selected {products} </Feedback> 
     <Navigate Target="/../View/ItemPage.xaml" /> 
    </Command> 

    <PhraseList Label="products"> 

    </PhraseList> 

    </CommandSet> 
</VoiceCommands> 

正如您所看到的,ther沒有列出可能的產品。從數據庫加載產品列表後,您可以通過代碼更新命令列表。例如,如果您有產品名單上List<string>類型命名productList的變量:

VoiceCommandSet commandSet = VoiceCommandService.InstalledCommandSets["ProductCommandSet"]; 
commandSet.UpdatePhraseListAsync("products", productList);