【发布时间】:2010-12-01 20:21:03
【问题描述】:
也许是一个愚蠢的问题,但是当我将项目添加到 WPF 项目时,Visual Studio 只为我提供 UserControl,而不是 Window。这是在鼓励我做 MVVM,是我的设置坏了,还是有其他我没有想到的原因?
【问题讨论】:
标签: wpf visual-studio-2008 window
也许是一个愚蠢的问题,但是当我将项目添加到 WPF 项目时,Visual Studio 只为我提供 UserControl,而不是 Window。这是在鼓励我做 MVVM,是我的设置坏了,还是有其他我没有想到的原因?
【问题讨论】:
标签: wpf visual-studio-2008 window
您的项目可能配置为 WinForms 项目,或者可能配置为类库。如果它是作为其中任何一种创建的,那么不幸的是,您只能添加一个 WPF 用户控件。
当然,此限制没有技术原因,因此您可以从另一个项目复制/粘贴一个,或者将您的项目重新创建/更改为 WPF 项目。
我不确定在 VS 的眼中你究竟做了什么改变才能使它成为 WPF 项目。您可以尝试创建一个新项目并将其与当前项目进行比较。您很可能需要对您的 .csproj 文件进行一些文本编辑。
【讨论】:
将此添加到您的 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>
【讨论】:
尝试运行 devenv /installvstemplates 以重置已安装的模板。
当 WPF 用户控件神秘地从我的添加新列表中消失时,我曾经使用过它。
在我的 WPF 项目中,当我单击添加时,我得到以下选项(包括窗口)。
所以恐怕这是你的设置。
【讨论】:
不要使用 Visual Studio 2015 Microsoft Blend... 打开你的项目.. 在 Visual Studio 中打开您的项目 - Microsoft Visual Studio ,,, 在标题栏中查看
【讨论】: