2

Ninjectのメソッドを呼び出さずに依存性を注入する方法を探していGetます。

たとえば、ASP.NET MVCでは、MSDNから継承するクラスを作成し、DefaultControllerFactoryMSDNを使用してコントローラービルダーのファクトリに追加しControllerBuilder.Current.SetControllerFactoryます。一度それを行うと、電話をかけることはなくGet、自動的に入力されます。

WPFに相当するものはありますか?

ほとんどの状況に適合する一般的な回答が必要ですが、例を示す必要がある場合は、WPFでコントロールを作成しましたが、コンストラクターにパラメーターがあります。

public AppVolumeSlider(IVolumeSetter volumeSetter) 

私のコントロールはマークアップになっているので、もちろんWPFは文句を言いますThe type "AppVolumeSlider" does not include any accessible constructors.

Ninject / WPFで適切に埋めるにはどうすればよいですか?

注1:この例でそれができない場合(マークアップのためだと思います)、一般的な答えを教えてください。たとえば、コントロールではなく、同様のコンストラクターを使用してクラスを作成したとします。私はまだこの情報を知る必要があります。

注2:これはInject属性に関連している可能性があるという予感がありますが、わかりません。

ありがとうございました。

4

2 に答える 2

1

Caliburn MicroのようなさまざまなMVVMフレームワークをご覧ください:http ://caliburnmicro.codeplex.com/それらのほとんどはIoCコンテナサポートが付属しています。

于 2013-01-26T18:25:42.680 に答える
0

Unityなどの一部のコンテナーには、既存のインスタンスへの依存関係を提供する機能があります。もちろん、これは構造物注入では機能しません。しかし、それはプロパティ/メソッド注入のために見つけることができます。

WPFページ(または任意のコントロール)を作成すると、マークアップが読み込まれ、Unity.BuildUp(your_object)が呼び出されます。

または別のコンテナの同等の機能。

于 2013-01-26T18:52:49.607 に答える