2008-10-19 69 views
4

創建的xmlns參考其他項目,我有這樣定義的WPF項目:不能在XAML

 
MyApp.sln 
    MyAppWPF 
    MyApp.Domain 

在在MyAppWPF項目我的XAML文件一個我想引用定義的類MyApp.Domain項目。我有一個項目參考在MyAppWPF到MyApp.Domain。我想創建這樣的引用:

 
<Window x:Class="MyAppWPF.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:MyApp.Domain;assembly=MyApp.Domain" 
    Title="Window1" Height="305" Width="485"> 
    <Window.Resources> 
     <local:MyClass x:Key="mine" /> 
    </Window.Resources> 
</Window> 

我得到一個錯誤,該組件無法找到,但我可以創造我想在後面的代碼來引用類的一個實例,所以我知道我已經正確引用了它。

我該怎麼做?我需要一個強名,還是直接引用dll而不是使用項目引用?

+0

嗨特德 - 你有沒有解決這個問題? – 2009-06-13 09:12:21

回答

2

檢查

  1. 爲MyClass的完全合格的名稱是MyApp.Domain.MyClass
  2. MyClass的有一個默認的公共構造(不帶參數),這樣可以XAML實例化它。
0

如果XAML不鬆(是一個彙編(DLL/EXE)
確保裝配有你正在尋找
(右鍵單擊該項目的程序集的引用中編譯...)。

如果XAML是鬆散的,請確保它正在尋找被複制到同一目錄組件中的exe文件是從跑。

1

你只需把assembly=MyApp.Domain如果你動態編譯鬆散XAML

如果您剛開始構建您的XAML,請排除該令牌,然後改爲xmlns:local="clr-namespace:MyApp.Domain"

0

如果它對任何人都有幫助,只需在命名空間聲明的末尾添加;assembly=即可解決我的問題,該聲明引用了包含項目本身。例如:

xmlns:local="clr-namespace:YourProjectNameSpace;assembly="