我在进行以下操作时遇到了一些问题(使用Visual Studio 2008 SP1):
1. 将目标框架从2.0更改为3.5。 2. 添加PresentationCore、PresentationFramework和WindowsBase引用。
此时,我注意到问题出现了。当我右键单击该项目并选择添加|新项时,我没有一个选项来创建WPF窗口,我只能创建WPF用户控件。由于我的周围还有其他WPF项目,所以我将App.xaml.*和Window1.xaml.*从那个项目复制到了我的项目中,并根据需要更新了它们(基本上只是将该项目的命名空间更改为我的项目的命名空间)。
然后,我删除了Program.cs(以前包含显示主WinForm表单的Main方法),并构建了该项目。我收到了一个错误,指示没有Main方法。
看起来在内部Visual Studio知道这个项目实际上是一个WinForms应用程序,而不是WPF应用程序。在WPF项目中(通过选择“WPF应用程序”创建),在应用程序属性中,我可以将Application类的实例设置为启动对象。在我转换成WinForms的项目中,这不是一个选项。
我快速查看了文本编辑器中的.csproj文件,但我找不到任何可以告诉Visual Studio该项目实际上是WinForms而不是WPF的内容。
除了创建新项目并替换当前项目之外,我还有什么选择将我的WinForms项目变成“真正”的WPF项目?
<Page Include="App.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
但是,在我的另一个WPF项目中,它是一个ApplicationDefinition。一旦我改变了它,我就可以将我的应用程序实例设置为启动对象,然后我的应用程序将运行。不过,我仍然没有创建除用户控件之外的任何WPF类型的选项。