2017-11-10 2 views
-1

Ich stieß heute auf dieses Problem, bei dem ich ein WPF-Fenster zu meinem vorhandenen Klassenbibliotheksprojekt hinzufügen wollte, es jedoch nicht in der Liste Neues Element hinzufügen vorhanden war.So fügen Sie ein WPF-Fenster zu einem Klassenbibliotheksprojekt hinzu

Ich fand eine Lösung und wollte sie nur hier posten, da ich sie nirgendwo anders finden konnte.

+0

Bevor Selbst Posting beantwortet Fragen stellen Sie sicher, es gibt keine doppelte:

Der komplette Property xml in etwa so aussehen sollte. Jetzt sind Sie auf einer dünnen Kante, um zu beweisen, dass Sie nicht Plagiaser mit diesem 7 Jahre alt sind [Antwort] (https://stackoverflow.com/a/3574603/1997232). – Sinatr

+0

@Sinatr Ich habe eine Suche gemacht, aber sie ist nicht aufgetaucht. Es kann als Duplikat markiert werden. – CathalMF

Antwort

2

Die Lösung ist das Öffnen der .csproj in einem Texteditor wie Notepad.

Fügen Sie die folgende Zeile unter dem ersten PropertyGroup XML-Tag hinzu.

<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

Speichern Sie die Änderungen und das Projekt neu zu laden. Das Projekt wird nun in der Lage sein, WPF Windows normal hinzuzufügen.

<PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <ProjectGuid>{11EE2F8C-DFCF-451D-BA3E-84A4FB858848}</ProjectGuid> 
    <OutputType>Library</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>TestApp</RootNamespace> 
    <AssemblyName>TestApp</AssemblyName> 
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> 
    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    <FileAlignment>512</FileAlignment> 
    <TargetFrameworkProfile /> 
    </PropertyGroup> 
+0

Das ist genau richtig. Ich musste das auch tun. Wenn Sie ein Fenster von einem WinForm öffnen, benötigen Sie diese Zeile 'ElementHost.EnableModelessKeyboardInterop (myWindow);' Bevor Sie 'myWIndow.ShowDialog()' aufrufen, damit das Fenster die Tastatur korrekt vom Benutzer erhält. Diese Methode befindet sich im Namespace 'System.Windows.Forms.Integration;'. Wenn du das nicht weißt, kannst du Stunden deiner Zeit verschwenden! – Nik

Verwandte Themen