XAML / WinRT中是否有CommandParameter?

时间:2012-09-25 16:07:26

标签: xaml windows-8 icommand

可以将CommandParameter传递给WinRT中的Command吗?怎么样?

2 个答案:

答案 0 :(得分:0)

是和否。 WinRT应用程序可以通过Application.OnLaunched覆盖接收参数。

覆盖接收类型为LaunchActivatedEventArgs的实例,其中包含参数。

因此 可以接收参数,问题更多的是如何传递它们。

无法从命令行启动Windows应用商店(WinRT)应用程序。如果WinRT应用程序与文件类型相关联,则可以通过在文件上调用ShellExecute来启动它。除此之外,无法直接启动应用程序。

可以使用IAplicationActivationManager接口编写启动WinRT应用程序的C ++,并且此接口可以将参数传递给启动的应用程序。因此,您可以创建一个可以从命令行调用的C ++启动程序可执行文件。

有关如何使用此界面启动应用程序的更多信息,请参阅以下论坛帖子:

http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/a4d2fca1-4034-4cc7-a86a-6242ce1a8b16

答案 1 :(得分:0)

实际上,我可能完全误解了你的问题。如果您正在讨论UI命令(实现ICommand接口的命令),则可以在调用Execute时传递参数。您还可以通过调用CanExecute来执行命令之前测试命令和参数是否有效。

对于将参数作为Button绑定的一部分传递,将Command属性设置为等于要执行按钮的命令,并将CommandParameter属性设置为等于要传递的参数