1

嗨,我目前正在我正在开发的 WPF 应用程序中实现 MVVM。我使用 2 个单独的项目实现了 ViewModel 和 Views。只有 View 从 ViewModel 引用。但是,我已经到了需要将设置类中的信息(由 Visual Studio 使用项目属性中的设置对话框自动生成)到 ViewModel 的地步。我该怎么做,因为 ViewModel 不应该引用 View 的类,而且 Settings 类也有一个 internal 修饰符。

需要您对此提出建议...我正在使用具有定位器模式的 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 回答