我正在設計一個用戶控件來顯示一個筆記。所以我有一個NoteViewModel。在我的設計師中,我想要一個測試筆記。所以我在我的XAML中有以下幾種:XAML測試數據 - 設計人員可以轉換類型,但運行時不能
<UserControl.Resources>
<local:NoteViewModel x:Key="ViewModel" d:IsDataSource="True">
<local:NoteViewModel.Note>
<localweb:Note
NoteID="1"
CreatedBy="Some Guy"
CreatedDate="2010-01-01 8:00 AM"
Category="Some Category"
NoteText="Some Text"
/>
</local:NoteViewModel.Note>
</local:NoteViewModel>
</UserControl.Resources>
這在設計時很有用。但在運行時,我遇到了無法將「1」轉換爲Int32的錯誤,並且無法將「2010-01-01 8:00 AM」轉換爲DateTime。爲什麼設計者能夠處理這個問題,而不是運行時?我應該如何更改XAML以便設計人員可以顯示測試筆記,但運行時不會崩潰?
有關將「1」轉換爲Int32的錯誤尤其令人費解。 NoteID屬性是如何聲明的?你能透露它的代碼嗎? – 2010-08-18 22:01:31
是的,NoteId代碼可以給出一些線索。我有像上面這樣一些奇怪的問題。 Style中可能會使用一些轉換器。 Silverlight不會檢測到這一點。因爲,樣式不會有DataContext。 我對silverlight設計時間和運行時間之間的偏差提出了有線答案。 Designer是基於WPF的。 – 2010-08-19 20:16:22