我看了一下Another Question,但是我得到的錯誤更具體。Blend無法顯示Visual Studio 2010可以顯示的設計時間數據
此示例數據使用視圖模型,該視圖模型沒有默認的無參數構造函數,但它具有公共參數化的構造函數。
我相信設計時間數據使用反射,應該能夠處理這個(因爲它實際上並沒有實例化類)。因此它讓我很困惑,爲什麼在設計時出現以下錯誤:
「AccessDeniedViewModel」類型不包含任何可訪問的構造函數。
我的XAML中包含設計時間數據的行是d:DataContext="{d:DesignData /SampleData/AccessDeniedViewModelSampleData.xaml}"
。我使用了Blend的'從類創建示例數據...'來生成這個數據文件。
但是,當我在Visual Studio 2010中打開此視圖時,它完全能夠將其與設計時間數據一起顯示。
我真的不想僅僅在設計時使用無參數的構造函數,任何獲得Blend中設計數據的方法都將非常感謝。
編輯:我還應該提到,綁定支持仍然存在,當我添加綁定到視圖時,可用的屬性被列出,就像它解析到正確的類型,只是無法實例化它。
http://www.vladhorby.com/wpblog/2010/05/14/designdata-support-for-silverlight-in-visual-studio-2010-and-blend-4/提供了一個示例,其中無參數構造函數不需要。我看不出爲什麼Visual Studio能夠管理它,但不能混合。感謝您的建議:) – Lukazoid
那麼你測試了嗎?它沒有無參數構造函數嗎?你所指的頁面和你的代碼有什麼區別? –
我已將該示例中的步驟應用於我的情況,它在Visual Studio中工作,但不在Blend中。 Blend抱怨缺乏一個可訪問的構造函數。我能看到的唯一區別是我的視圖模型是派生類。 – Lukazoid