2011-11-16 44 views
0

我可以在Visual Studio中編輯此UserControl,但在Expression Blend中出現這種奇怪的異常。有誰知道我應該尋找什麼?當UserControl包含我的自定義控件時,ExpressionBlend異常

enter image description here

UPDATE

我無法弄清楚如何調試/附加。我按照Mike的指示做了一切事情,但沒有發生斷點。我做了更多的調查,發現很可能是我的問題與主題/ generic.xaml

我的visual studio解決方案的項目名爲Infrastructure.dll。在那個項目裏面我有文件夾themes和裏面我有文件generic.xamlGeneric.xaml設置爲資源編譯。我的控制班住在同一個項目中。

我有一個名爲「的Module.dll」另一個項目和項目引用Infrastructure.dll

  1. 當我打開視圖與我的控制(視圖從Infrastructure.dll)它工作在Visual Studio,但給出了這樣的錯誤混合。
  2. 我可以在Blend中拖放控件,它會給出同樣的錯誤。我試圖刪除行,我應用模板來控制(generic.xaml中的模板),它的工作原理。
  3. 模板很好,我使用Blend創建它並複製到generic.xaml自己。
  4. 當我創建視圖INSIDE Infrastructure.dll並將該控件放在該視圖上時 - 它可以工作。

所以,我的結論是,Blend在generic.xaml裏面看不到模板,它存在於被引用的項目中。我該如何解決?

+0

聽起來你已經實現了在一定的MeasureOverride代碼和它扔在設計模式異常。 – Bryant

+0

@Bryant Nope,MeasureOverride中沒有代碼 – katit

+0

你能告訴我該模板的xaml代碼嗎? –

回答

0

問題肯定與Blend無法讀取/定位generic.xaml Visual Studio沒有這個問題btw。我現在找到了解決方法 - 如果我可以避免這樣做會很樂意接受另一個答案..

我添加資源引用來查看 - 一切工作在Blend。這意味着我必須這樣XAML添加到我的所有觀點..

<UserControl.Resources> 
     <ResourceDictionary> 
      <ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="/Infrastructure.SL;component/Themes/generic.xaml"/> 
      </ResourceDictionary.MergedDictionaries> 
1

在Blend中打開您的項目(但尚未打開問題文件)。在Visual Studio中打開您的解決方案(打開順序並不重要)。在Visual Studio中,選擇Debug - > Attach to process ...並選擇Blend.exe。確保你打破所有例外。調試器完成附加和加載所有內容後,在Blend中打開問題文件。調試器應該(希望 - 很難從異常細節中知道)停在代碼中的問題區域。

+0

如何「確保中斷所有例外」?我用我的設置嘗試了它,但沒有得到任何東西 – katit

+0

轉到Debug - > Exceptions並確保你打破所有Common Language Runtime異常。 (根據您的選項,您可能會有一列或兩列複選框,請確保選中公共語言運行時例外的所有框。) –

+0

這不起作用 - 沒有變化,沒有發生斷點。我用更多的調查結果更新了原始信息,這對你有意義嗎? – katit

相關問題