我一直在Silverlight 5中使用Caliburn.Micro的约定,并且很喜欢它。下面是一个ViewModel为例财产:Caliburn.Micro标签不符合约定
private String _vmStringProp = "";
public String VmStringProp
{
get
{
return _vmStringProp;
}
set
{
_vmStringProp = value;
NotifyOfPropertyChange(() => VmStringProp);
}
}
此属性的查看约束只通过为其命名:
<TextBox x:Name="VmStringProp" />
这个伟大的工程。但是,如果我将其更改为TextBlock或Lable(下面的示例),则会引发异常。
<sdk:Label x:Name="VmStringProp" />
,如果你改变它绑定像正常的Silverlight,但我宁愿在整个项目中保持,而不必通过约定一定的约束和其他取决于什么类型的控制明确绑定一致的,它工作正常。有谁知道为什么我不能通过约定与标签和TextBlocks绑定?
你刚才提到,抛出一个异常...你能后的异常消息和堆栈跟踪? – nemesv
我不知道该怎么做。在我的示例应用程序(常规引导程序)Visual Studio崩溃,然后问我,如果我想调试,然后将不会'调试已经连接'。在我的实际应用程序中,我的IOC MEF引导程序(几乎是Caliburn提供的示例)在调用GetInstance(Type serviceType,string key)时引发异常,因为传递给它的Type为null。然后它说“无法找到合同MyStringValueHere的任何实例” – Mario