MVVM 和设置库

发布于 2024-10-14 02:39:12 字数 285 浏览 2 评论 0原文

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

需要您对此的建议...我正在使用具有定位器模式的 mvvm-light ..

谢谢

Hi i'm currently implement MVVM in a WPF app i'm developing. I implemented the ViewModel and the Views by using 2 separate projects. Only the View is referencing from the ViewModel. However, i've come to a point where i need the information in the Settings class(auto generated by Visual Studio using the Settings dialogue in the Project's Properties) to the ViewModel. How do i do that since ViewModel shouldn't reference the View's classes and also Settings class has a internal modifier.

need your suggestions on this one...i'm using mvvm-light which has the Locator pattern..

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦屿孤独相伴 2024-10-21 02:39:12

创建一个如下所示的接口:

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

创建此服务的实现,该实现将从视图项目中的 Settings 类返回值,并将其注册到服务定位器中。

然后,在您的视图模型项目中,您可以通过服务定位器获取它。像这样的事情:

var mySettings = ServiceLocator.Instance.GetService<IUserSettingsService>();

Create an interface like this:

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

Create an implementation of this service that will return values from the Settings class in your views project and register it in the service locator.

Then, in your view models project you can get it via the service locator. Something like this:

var mySettings = ServiceLocator.Instance.GetService<IUserSettingsService>();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文