我正在尝试从我的WPF应用程序创建一个弹出窗口,该窗口显示在WindowsFormsHost中托管的报表查看器 但是我遇到以下Xaml的问题
<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>
我收到构建错误通知我 “找不到类型'my:WindowsFormsHost'。确认您没有错过程序集引用,并且已经构建了所有引用的程序集”
我在XAML中犯了错误 我添加了WindowsFormsIntegration作为我项目的参考。
感谢您的帮助
中校
答案 0 :(得分:3)
人们似乎忽略了第二个解决方案。我在这个问题上摸了好头20分钟。包括这个在内的任何解决方案都无法解决。事实证明我的解决方案是添加:
WindowsFormsIntegration程序
到我的参考资料
在我意识到基于:
之后http://msdn.microsoft.com/en-us/library/system.windows.forms.integration.windowsformshost.aspx
这使用WindowsFormsIntegration.dll。我的参考文献似乎遗漏了这些内容。
希望这有帮助!
答案 1 :(得分: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>