在代表该命令的类中实现命令并从ICommand派生,这似乎更为全面。这样我也可以在MEF复合应用程序中导出和导入命令。
这是可行的还是可行的?有没有已知的模式来实现这个目标?
答案 0 :(得分:0)
我不确定这回答你的问题有多好,因为我对MEF知之甚少。
不需要在类上直接引用命令实例,但是您需要某种方式来呈现将视图返回给视图的绑定源。例如,您可以通过将MenuItem的ItemsSource绑定到返回动态生成的IEnumerable命令的属性来构建菜单。
您还可以使用value converter按需获取某个任意标识符的命令:
<Button Command="{Binding Path=CommandId, Converter={StaticResource CommandConverter}}" />
或直接从XAML通过Binding.Source传递标识符:
<Button Command="{Binding Source=DesiredCommand, Converter={StaticResource CommandConverter}}" />
在这种情况下,字符串“DesiredCommand”将传递给转换器。