2016-05-11 16 views
2

私はWPFプロジェクトを持っています。私は、MessageBox.Showを使ってフォームを作成するときに、C#のMessageBoxフォームと同様に、.DLLファイルを使ってこのプロジェクトを他の新しいプロジェクトで使用したいと思います。C#WPFライブラリの作成

ライブラリプロジェクトファイルでApplicationDefinition要素を指定できません。

私は "Class Library"にプロジェクトの出力を変更すると、 "InitializeComponent();"メソッドはエラーを起こすので、私のウィンドウのコンストラクタ内に他の多くのメソッドがあります。 名前 'InitializeComponent'は現在のコンテキストに存在しません どうすればこの問題を解決できますか?一度作成したライブラリはどのように使用しますか?

答えて

1

単にクラスライブラリに移植することはできません。 app.xamlなどをハックすることもできますが、新しい「WPFユーザーコントロールライブラリ」または「WPFカスタムコントロールライブラリ」を作成するのが最適です。既存のコードをそのコードに移行します。ライブラリの外から呼び出すPublicクラスとメソッドを公開するようにしてください。

新しいWPFアプリケーションと同様に、新しいライブラリを含むソリューションを作成できます。こうすることで、ライブラリプロジェクトを指すアプリケーションに参照を追加することができます。テストはそのように簡単です。

ライブラリの使い方については、そのことについていくつかの調査を行う必要があります。あなたのニーズに応じて、さまざまな方法があります。

+0

の上ごXAMLとクラスのすべてをコピーすることです! – ViVi

+0

ユーザーコントロールは私が望むものではありません...私はMessageBoxウィンドウがほしいと言っていました –

+0

あなたはこれをWPFでタグ付けしました。それ以外の場合は、ジェネリッククラスライブラリ(ビジネスオブジェクトなどを対象とする)を取得し、WPFアプリケーションとマージします。私が取り組んでいる金融取引プラットフォームには、カスタムViewModels、Views、Controlsなどの構造があります。ジェネリッククラスライブラリのみを使用する場合は、コードをマイグレートする必要があります。タイプを変更することはできません。そのようなライブラリを作成する方法を研究し、それを解決できない場合には特定の問題を投稿する必要があります。 :-) –

1

問題は、プロジェクトはライブラリではなくアプリだということです。ライブラリの設定を変更するだけで助けてください。

これが行うことが最善のタイプ「ユーザーコントロールライブラリ」の新しいプロジェクトを作成し、まあ説明し、新しいプロジェクト

関連する問題