我想构建一个用于在餐厅订购产品的应用程序。服务员会说命令“Product SomeProduct,Quantity SomeQuantity,Observation SomeObservation”。我看到许多使用带有预定义命令的本地语法文件的示例。如何在运行时使用来自数据库的产品名称构造一个语法文件?
问问题
526 次
1 回答
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>
如您所见,没有可能的产品列表。从数据库加载产品列表后,您可以通过代码更新命令列表。例如,如果您在List<string>
名为的类型变量上有产品列表productList
:
VoiceCommandSet commandSet = VoiceCommandService.InstalledCommandSets["ProductCommandSet"];
commandSet.UpdatePhraseListAsync("products", productList);
于 2013-09-24T07:14:06.007 回答