我正在尝试在简单的WPF应用程序中使用使用winforms的MonthCalendar控件。我发现通过使用WindowsFormsHost,可以在wpf应用程序中使用winforms控件。它适用于winforms的内置控件,但是当我尝试实例化此控件MonthCalendar的对象时,我收到错误消息“无法实例化MonthCalendar的对象”。
有关为何发生这种情况的任何建议以及如何克服这个问题? MonthCalendar的源代码位于http://www.codeproject.com/Articles/10840/Another-Month-Calendar?msg=2298161#xx2298161xx
我在xaml中实例化它:
<Window x:Class="MonthCalendarTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:pc="clr-namespace:Pabo.Calendar"
Title="MainWindow" Height="350" Width="525">
<Grid Height="65" Width="280">
<WindowsFormsHost Margin="0,0,12,12" Height="100">
<pc:MonthCalendar></pc:MonthCalendar>
</WindowsFormsHost>
</Grid>
答案 0 :(得分:2)
我可以按照以下步骤开始工作:
添加对System.Windows.Forms和WindowsFormIntegration的引用
从:http://www.codeproject.com/KB/selection/MonthCalendar/MonthCalendar_src_vs2005.zip
<Window x:Class="WpfApplication6.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:pc="clr-namespace:Pabo.Calendar;assembly=MonthCalendar"
Title="MainWindow" Height="350" Width="525">
<Grid Height="65" Width="280">
<WindowsFormsHost Margin="0,0,12,12" Height="100">
<pc:MonthCalendar x:Name="myCalendar"/>
</WindowsFormsHost>
</Grid>
</Window>
那你有什么不同的做法?
您是否将MonthCalendar保留在自己的项目中?
您正在运行什么操作系统平台?