1

こんにちは私は現在、開発中のWPFアプリにMVVMを実装しています。2つの別々のプロジェクトを使用してViewModelとViewsを実装しました。ビューのみがViewModelから参照しています。ただし、設定クラス(プロジェクトのプロパティの[設定]ダイアログを使用してVisual Studioによって自動生成される)の情報がViewModelに必要になるようになりました。ViewModelはViewのクラスを参照するべきではなく、Settingsクラスにも内部修飾子があるため、これを行うにはどうすればよいですか。

これについての提案が必要です...私はロケーターパターンを持つmvvm-lightを使用しています。

ありがとう

4

1 に答える 1

0

次のようなインターフェイスを作成します。

public interface IUserSettingsService
{
   string FooSetting { get; }
   bool BarSetting { get; }
}

ビュープロジェクトのSettingsクラスから値を返すこのサービスの実装を作成し、サービスロケーターに登録します。

次に、ビューモデルプロジェクトで、サービスロケーターを介して取得できます。このようなもの:

var mySettings = ServiceLocator.Instance.GetService<IUserSettingsService>();
于 2011-01-24T10:11:05.027 に答える