0

在代表该命令并派生自 ICommand 的类中实现命令对我来说似乎更整洁。这样,我还可以在 MEF 复合应用程序中导出和导入命令。

这是可能的,还是可行的?是否有已知的模式来实现这一点?

4

1 回答 1

0

我不确定这如何回答您的问题,因为我对 MEF 了解不多。

不需要直接引用类中的命令实例,但您确实需要某种方式来呈现一个绑定源,该绑定源将一个返回到视图。例如,您可以通过将 MenuItem 的 ItemsSource 绑定到返回动态生成的命令 IEnumerable 的属性来构建菜单。

您还可以使用值转换器来按需获取某个任意标识符的命令:

<Button Command="{Binding Path=CommandId, Converter={StaticResource CommandConverter}}" />

或者直接从 XAML 通过 Binding.Source 传递标识符:

<Button Command="{Binding Source=DesiredCommand, Converter={StaticResource CommandConverter}}" />

在这种情况下,字符串“DesiredCommand”将被传递给转换器。

于 2013-10-02T14:55:42.417 回答