我有一個WPF用戶控件,像這樣綁定所引用轉換器:XAML設計師「找不到類型」時,轉換器在UserControl.Resources
<UserControl x:Class="MyControl" x:Name="MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:TheMainNamespaceOfThisAssembly">
<UserControl.Resources>
<local:ConfidenceColorConverter x:Key="ConfidenceColorConverter"/>
</UserControl.Resources>
我後來使用綁定轉換器。我在設計窗口中看到用戶控件。然後我編譯,然後將這個用戶控件放在我的主窗口中。我運行它,它的工作原理。但是,我仍然希望在主窗口上使用設計器,該主窗口會打破:
無法創建「MyControl」類型的實例。
所以我學了how to debug the designer;當我這樣做時,我得到一個XamlParseException:
無法找到類型'TheMainNamespaceOfThisAssembly.ConfidenceColorConverter'。編譯時使用的程序集可能與加載時使用的程序集不同,並且類型缺失。標記文件錯誤...
如果刪除對轉換器的引用,我的用戶控件會在主窗口的設計器中顯示出來。 任何想法如何解決我對轉換器的引用,使他們不會打破設計師?
無法理解文章Troubleshooting WPF Designer Load Failures是否適用。
由於類名和密鑰類似,我無法獲得任何錯誤,所以我刪除了我的答案。我必須問明顯的問題:你在程序集中有一個名爲'ConfidenceColorConverter'的類,對吧?它是公開的嗎? – 2010-02-18 19:01:05
是的; ConfidenceColorConverter,MyControl和MainWindow都位於項目名稱空間TheMainNamespaceOfThisAssembly的同一項目中。 – 2010-02-18 21:24:22
請嘗試在乾淨的項目上重現此內容。這*不應該*失敗,所以重現它是很重要的,沒有任何項目的奇怪副作用。 – Sander 2010-02-26 16:52:03