Подтвердить что ты не робот

Почему Visual Studio не хочет, чтобы я добавлял новое окно в мой проект WPF?

Может быть, глупый вопрос, но когда я добавляю элемент в проект WPF, Visual Studio предлагает мне UserControl, а не Window. Является ли это попыткой побудить меня делать MVVM, моя настройка нарушена, или есть какая-то другая причина, о которой я не думал?

4b9b3361

Ответ 1

Возможно, ваш проект сконфигурирован как проект WinForms или, возможно, как библиотека классов. Если он создан как один из них, вы можете добавить WPF UserControl, к сожалению.

Конечно, нет никаких технических оснований для этого ограничения, поэтому вы можете копировать/вставлять один из другого проекта или воссоздавать/изменять проект в качестве проекта WPF.

Я не уверен, что вы точно меняете, чтобы сделать проект WPF в глазах VS. Вы можете попробовать создать новый проект и отличить его от своего текущего проекта. Скорее всего, вам нужно будет немного редактировать текст в вашем файле .csproj.

Ответ 2

Добавьте это в свой первый <PropertyGroup> элемент в csproj:

<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>

Ответ 3

Попробуйте запустить devenv /installvstemplates до reset установленные шаблоны. Я использовал это раньше, когда пользовательский элемент управления WPF таинственным образом исчез из моего добавления нового списка.

В моем проекте WPF, когда я нажимаю "Добавить", я получаю следующие параметры (включая Window).

Add New Options

Так что я боюсь, что это ваша настройка.

Ответ 4

не использовать Visual Studio 2015 Microsoft Blend... чтобы открыть свой проект.. откройте свой проект в Visual Studio - Microsoft Visual Studio,, см. в строке заголовка