也许是一个愚蠢的问题,但是当我将项目添加到WPF项目时,Visual Studio只提供UserControl,而不是Window。这是试图鼓励我做MVVM,我的设置是否被打破,还是有其他原因我没有想到?
答案 0 :(得分:21)
您的项目可能配置为WinForms项目,或者可能配置为类库。如果它是作为其中任何一个创建的,那么你很可能只能添加一个WPF UserControl。
当然,这种限制没有技术原因,因此您可以从另一个项目中复制/粘贴一个项目,或者重新创建/更改您的项目以成为WPF项目。
我不确定你的改变是什么让它成为VS眼中的WPF项目。您可以尝试创建一个新项目并将其区分到当前项目。您很可能必须在.csproj
文件上进行一些文本编辑。
答案 1 :(得分:17)
将其添加到csproj中的第一个<PropertyGroup>
元素:
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
以下是一个例子:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{24793F93-0FD8-4EC9-B1D2-028DB489B10D}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>nest_spawner</RootNamespace>
<AssemblyName>nest-spawner</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
变为:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{24793F93-0FD8-4EC9-B1D2-028DB489B10D}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>nest_spawner</RootNamespace>
<AssemblyName>nest-spawner</AssemblyName>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
答案 2 :(得分:0)
尝试运行 devenv /installvstemplates
重置已安装的模板。
我之前使用过这个,当WPF用户控件从我的添加新列表中神秘消失时。
在我的WPF项目中,当我单击Add时,我会得到以下选项(包括Window)。
所以我担心这是你的设置。
答案 3 :(得分:0)
不要使用Visual Studio 2015 Microsoft Blend ... 打开你的项目.. 在Visual Studio中打开您的项目 - Microsoft Visual Studio ,,, 见标题栏