我一直在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