我们正在使用MVVM项目启动WPF,并且必须决定PRISM或MVVM Light(我对这两个框架都不熟悉).我已阅读了几篇文章但仍有几个问题.有人可以对框架中的以下几个方面有所了解吗?:
性能:出于任何原因,一个框架是否会比另一个框架表现更好?
应用程序内的通信(viewmodel到viewmodel或模块之间等):我已经读过MVVM Light有Messenging Service,它看起来也相当容易.但是PRISM似乎没有任何等价物.真的吗?PRISM如何处理交互?
单元测试:已经读过PRISM更好地支持单元测试.我们还可以在MVVM Light中编写NUNIT或VSTS测试吗?
我是WPF的新手,我正在尝试使用来自视图模型的上下文菜单项将上下文菜单绑定到按钮.
这就是我在做的事情:
<Button x:Name="btn" Content="Context Menu">
<Button.ContextMenu>
<ContextMenu x:Name="cm" ItemsSource="ItemsList"/>
</Button.ContextMenu>
</Button>
private List<string> itemsList = null;
public List<string> ItemsList
{
get
{
if(itemsList == null)
itemsList = new List<string>(myStringArrayOfItems);
return itemsList;
}
}
Run Code Online (Sandbox Code Playgroud)
XAML编辑器一直显示错误:"IEnumerable"的TypeConverter不支持从字符串转换.
我在这做错了什么?
此外,假设我得到了这个工作,我该怎么做才能将这些项绑定到命令并在单击该项时执行一些工作?我想为所有菜单项运行相同的命令,只需使用项字符串作为参数.