也許是一個愚蠢的問題,但是當我將項目添加到WPF項目時,Visual Studio只爲我提供UserControl,而不是Window。這是否試圖鼓勵我去做MVVM,我的設置是否被破壞,還是有其他原因我沒有想到?爲什麼Visual Studio不想讓我爲我的WPF項目添加一個新窗口?
回答
您的項目可能配置爲WinForms項目或可能配置爲類庫。如果它是作爲其中之一創建的,那麼不幸的是,您只能添加WPF UserControl。
當然,這個限制沒有技術上的原因,所以您可以從另一個項目中複製/粘貼一個項目,或者重新創建/更改您的項目爲WPF項目。
我不確定你改變了什麼,使它成爲VS眼中的WPF項目。您可以嘗試創建一個新項目並將其分配到當前項目。您很可能必須在您的.csproj
文件上進行文本編輯。
嘗試運行devenv /installvstemplates
重置您安裝的模板。 我之前使用過這個,當WPF用戶控件神祕地從我的添加新列表中消失。
在我的WPF項目中,當我點擊添加時,我得到以下選項(其中包括窗口)。
所以恐怕這是你的設置。
在您的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>
好的提示!適用於我 – 2016-01-07 16:34:21
嘗試過,但如果我添加該標記,VS無法加載項目,告訴我「項目名稱相同,已在解決方案中打開」。有任何想法嗎? – 2016-02-05 09:19:44
不適用於我。 – 2016-10-25 06:54:09
不使用Visual Studio 2015年微軟混合... 打開你的項目.. 打開你的p roject在Visual Studio - 微軟的Visual Studio ,,, 在標題欄中看到
- 1. WPF VS2013 - 添加新窗口作爲主窗口的子項目
- 2. 爲什麼Visual Studio不能識別我添加的新Filter類?
- 3. Visual Studio 2008 - 爲什麼我的窗戶不斷重新排列?
- 4. 如何添加一個窗口到我的Visual Studio?
- 5. Visual Studio不斷向我的csproj添加屬性。爲什麼?
- 6. 爲什麼我的一個TFS項目在Visual Studio中不可見?
- 7. visual studio express:當我添加一個引用時,它將該單元複製到我的項目中,爲什麼?
- 8. 當我建立我的項目時,visual studio 2008沒有創建一個.exe文件。任何想法爲什麼?
- 9. 爲什麼我的Visual Studio 2008的項目只讀
- 10. 爲什麼Visual Studio 2010的重置窗口布局是從我不得不
- 11. 爲什麼Visual Studio從ThreadPool工作項目跳過我的Exception?
- 12. 爲什麼Visual Studio重命名我的項目?
- 13. 我的xcode項目不會爲我添加一個.png圖片
- 14. 爲什麼不能在Visual Studio中添加更多然後1個項目?
- 15. 爲什麼Visual Studio將「p:」添加到我的所有控件?
- 16. 爲什麼我的列表框在我添加新項目時得到更新?
- 17. visual studio不讓我添加一個VB.Net文件
- 18. WPF:爲什麼我的DataTemplate項目找不到它的父項?
- 19. 爲什麼Visual Studio將一個符號(@)添加到我的名稱空間?
- 20. 爲什麼它不讓我使用窗口打開,我在做什麼錯?
- 21. 誰能給我一個'只爲樂趣'項目[wpf]的想法?
- 22. 爲什麼當我按F5時從Azure項目的Visual Studio中打開兩個資源管理器窗口
- 23. 爲什麼Visual Studio 2008忘記在哪裏停靠我的加載項窗口窗格?
- 24. 這不會產生一個窗口,我不知道爲什麼
- 25. 爲什麼我不能將項目添加到另一個FXML的表中?
- 26. 爲什麼組合框選擇第一個項目時重新加載窗口
- 27. 爲什麼我的Visual Studio 2010新建項目對話框被破壞?
- 28. 爲我的項目添加了一個新類,並且出現錯誤,說Program.Main()有多個條目爲什麼?
- 29. 爲什麼Gradle認爲我的'庫'目錄是一個項目
- 30. 爲什麼我不能使用AddRange添加子類項目?
謝謝,我從另一個項目複製粘貼此,現在看到你一樣: {60dc8134-eba5-43b8-bcc9 -bb4bc16c2548}; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ProjectTypeGuids> –
Benjol
2009-09-28 05:41:09
沒問題。別客氣。 – 2009-09-28 07:00:06
看看這個答案。它詳細介紹瞭如何將WPF支持添加到現有項目中:http://stackoverflow.com/questions/450377/upgrading-a-winforms-app-to-wpf – santiagoIT 2013-09-13 22:03:23