2010-01-20 57 views
2

我想創建從我的WPF應用程序一個彈出,其中顯示了WindowsFormsHost 託管的報表查看器WPF應用程序但是我有下面的XAML問題插入報表查看到使用WindowsformsHost

<Page x:Class="FIS3.ReportViewer.ReportViewer" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:my="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration" 
Title="MapViewer"> 
<Grid> 
    <my:WindowsFormsHost> 

    </my:WindowsFormsHost> 
    <Label Name="exampleText" Content="this is the Report Viewer ..." /> 
</Grid> 

問題

我得到一個生成錯誤通知我, 「類型‘我:WindowsFormsHost’未找到驗證你是不是缺少程序集引用,所有引用的程序集已經建成。」

我在我的XAML中犯了錯誤 我添加了WindowsFormsIntegration作爲我的項目的參考。

感謝您的幫助

山口

回答

2

按照MSDN documentation,WindowsFormsHost包括在默認XAML命名空間(「http://schemas.microsoft.com/winfx/2006/xaml/presentation」) - 儘管你需要引用WindowsFormsIntegration程序,因爲你做了。你有沒有嘗試引用沒有命名空間前綴的WindowsFormsHost?

<Page x:Class="FIS3.ReportViewer.ReportViewer" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Title="MapViewer"> 
<Grid> 
    <WindowsFormsHost> 

    <WindowsFormsHost> 
    <Label Name="exampleText" Content="this is the Report Viewer ..." /> 
</Grid> 
+0

嗨 感謝您的反饋。我只是試過上面的代碼,我仍然得到相同的錯誤 我想知道這是否與頁面標籤有問題,因爲我已經看到這個實現的窗口標籤是開放節點 – Colmdoc 2010-01-20 10:54:23

+1

以頁面爲根而不是窗口應該不成問題。您確定這是一個構建錯誤,而不是由XAML設計人員報告的錯誤。您可以嘗試關閉XAML設計器:右鍵單擊一個XAML文件,選擇打開方式,選擇XML Editor,然後設置爲默認值。重新啓動visual studio以確保XAML設計器未加載,然後嘗試構建您的項目。 – 2010-01-20 14:39:07

+0

嗨塞繆爾 不幸的是,這是一個構建錯誤我已經關閉了XAML設計器,根據您以前的建議,我得到的錯誤 「標記'WindowsFormsHost'不存在於XML namspace'http://schemas.microsoft .com/winfx/2006/xaml/presentation',Line 6 Position 8.「 感謝您的幫助。我真的不知道它出了什麼問題。 Registers Colm – Colmdoc 2010-01-20 15:05:04

3

還有第二個解決方案,人們似乎忽略了這一點。我在這個20分鐘的時間裏摸了一下頭。包括這個解決方案在內的任何解決方案都無法解決原來我的解決辦法是添加:

WindowsFormsIntegration程序

我引用

後,我意識到,基於:

http://msdn.microsoft.com/en-us/library/system.windows.forms.integration.windowsformshost.aspx

,這裏使用的WindowsFormsIntegration.dll程序。它似乎從我的參考文獻中缺失。

希望這會有所幫助!