19

新しいWPFプロジェクトを作成すると、[新しいアイテムの追加]ウィンドウにResourceDictionaryが表示されます。しかし、私はそれを見つけることができない別のプロジェクトを持っています、そして私は理由がわかりません。 UserControlのみで、ResourceDictionaryはありません

更新:プロジェクトは元々.net 3.5用でしたが、現在は.net4.0用のバージョンもあります。これは、同じプロジェクトに2つの.slnファイル(1つは3.5用、もう1つは4.0用)があることを意味します。

4

3 に答える 3

36

Project.csprojに次の行を追加します

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

<PropertyGroup>次のように、タグの子である必要があります。

    <Project>
      <PropertyGroup>
        ....
        <ProjectTypeGuids>{guids};{go};{here}</ProjectTypeGuids>
        ...
      </PropertyGroup>
    ...
    </Project>

この投稿は、これが機能する理由をうまく説明しています。

于 2014-12-30T18:32:35.930 に答える
5

まず、ファイルシステムから、または別のプロジェクトからコピーすることで、プロジェクトに必要なファイルを簡単に追加できるため、これで問題が解決しないことを理解してください。[新しいアイテムの追加]ウィンドウは、便宜上のものです。

次に、新しいプロジェクトをソリューションに追加したときに、どのプロジェクトテンプレートを選択しましたか?プロジェクトテンプレートは、プロジェクトが持つ参照アセンブリの初期セットを決定します。WPFプロジェクトは、WPFライブラリ(WindowsBase、PresentationCoreなど)を参照します。

Visual Studioは、参照されたアセンブリを使用して、[新しいアイテムの追加]ダイアログに表示される可能性のあるアイテムを生成します。

したがって、基本的なクラスライブラリなど、他の種類のプロジェクトを追加したと想定しています。[参照の追加]ダイアログを使用して、WPFアセンブリへの参照を手動で追加できます。または、プロジェクトをWPFカスタムコントロールライブラリとして再作成することもできます。

于 2012-09-24T03:25:55.343 に答える
0

プロジェクトを閉じます。使用した(または既存のプロジェクトを使用した)WPFプロジェクトのタイプの新しいプロジェクトを作成します。次に、WPFプロジェクトの.csprojファイルをテキストエディターで開きます。要素を見つけProjectTypeGuidsます。

メモ帳で既存の.csprojファイルを開きます。要素があるかどうかを確認しProjectTypeGuidsます。ProjectTypeGuids含まれている場合は、既存のプロジェクトのWPFプロジェクトからGUID(なし)を追加します。既存の.csprojファイルに要素が含まれていない場合は、WPFプロジェクトからGUIDと一緒ProjectTypeGuidsにコピーし、既存のプロジェクトの最初の要素に貼り付けます。ProjectTypeGuidsPropertyGroup

VisualStudioでプロジェクトをリロードします。これで、すべてのWPFファイルタイプを追加できるようになります。

GUIDSはすべての人にとって同じであると思うので、必要な値は次のようになります{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}。...これにより、新しいプロジェクトを作成する手順を節約できます。

したがって、クラスライブラリプロジェクトがある場合は、次を追加するだけです。

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

PropertyGroup.csprojファイルの最初の要素に。

于 2020-06-10T10:56:37.750 に答える