2012-03-07 9 views
6

を経由して、クラスライブラリにWPFリソースディクショナリを挿入します。私はWPF参照を追加しましたが、成功することなく、このようなリソースファイルの追加を可能にするプロジェクトとAssemblyInfo.csファイルを同期しようとしました。は、私はクラスライブラリを持っていると私はまた、WPFのリソースディクショナリを追加できるようにタイプを変更したいのVisual Studio 2010

私は、Visual Studioからアドオン新しいダイアログを使用している場合は、WPFのリソースディクショナリのテンプレートが利用可能ではない - 私は手動でファイルを作成し、それを参照する場合、すべてが正常に動作します。 Visual Studioは、私はWPFのリソースディクショナリを追加することができますように、私はWPFカスタムコントロールライブラリプロジェクトに私のプロジェクトを変更するにはどうすればよい

。または、私はそれをしてはならないし、新しいプロジェクトファイルを作成する必要がないように、欠点や落とし穴がありますか?

+0

なぜあなたは最初の場所でクラスライブラリにリソースディクショナリを置きたいでしょうか?私の理解は、クラスライブラリプロジェクトは、一般にUI関連の情報を格納するものではないということです。 – evasilchenko

+0

@DeviantSeev:私の更新を参照してください – HCL

+0

ええ、あなたのニーズに応じて、カスタムコントロールライブラリまたはユーザーコントロールライブラリを使用します。 – evasilchenko

答えて

6

csproj・ファイルで定義されているように見えます。私はPropertyGroup-セクションに以下の行を追加すると、私は私が探しているものを行うことができます。

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

私はdefinitonが存在する場所を見つけたが、私が使用していない
に注意してください。 csproj-Fileの変更されたバージョン。私は、希望の設定で新しいプロジェクトを作成しました。コントロールライブラリとクラスライブラリの間には、さらに多くのプロジェクト設定があるようで、上記のguidを追加するだけでプロジェクト/ソリューションが予期しない動作をする可能性があります。

+0

私はあなたの質問に回答としてマークすることができますが、クラスライブラリプロジェクトではレイアウト固有のコード(たとえデータ型であっても)を格納するのが少し汚いと感じます。それはちょうど私の意見です。 – evasilchenko

+3

@DeviantSeev:プロジェクトはもはやクラスライブラリではありません。これはカスタムコントロールライブラリとして使用され、コントロールのためにはテンプレートが必要です。これには何も問題ありません。汚いのは、私がプロジェクトタイプを変更した方法です - 別の場所に別の設定があるかどうか、これが将来問題を引き起こすかどうかはわかりません。それで私はその間に新しいプロジェクトを作りました。しかし、私はその質問が答えに値すると思います。それは誰かが同様の問題を抱えていると助けてくれるかもしれません。 – HCL