2009-10-19 89 views
0

我试图赶快与PRISM以及它如何与Silverlight/WPF一起使用。是否可以使用DelegateCommands来打开一个新的弹出窗口(Silverlight窗口)。如果是这样,我会如何去做这样的事情。DelegateCommand新手问题

到目前为止,我见过的大多数示例都涉及使用DelegateCommands来检索数据(或其他类似的操作)。

如果有人有任何建议,我会很感激。

回答

4

我使用委托命令实质上执行一个方法和/或将数据传回ViewModel。

一个弹出窗口,是一个演示工具,所以我没有看到添加事件处理程序到按钮并从代码隐藏加载弹出窗口有任何问题。通过创建某种IDialogService或实例化弹出窗口ViewModel/View,并通过视图注入或绑定到内容控件来显示视图,我会建议更多的基础结构/可重用方法。

+0

用于IDialogService的+1。您还应该使用某种ServiceLocator,以便您可以定义不同的服务,具体取决于您正在运行单元测试还是真正运行该应用程序。 – 2009-10-19 21:03:43

+0

这是要走的路,当然。至于服务定位器,请使用Prism(Microsoft.Practices.ServiceLocation.ServiceLocator.Current)使用的定位器。 – 2009-10-20 14:46:53

+0

我后来在网上发现了一些使用IDialogService接口来完成您的建议。这是一个有趣的解决这类问题的方法。谢谢! – coson 2009-10-22 16:35:43