问题标签 [viewmodellocator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
687 浏览

c# - 棱镜: ViewModelLocator 创建视图模型实例,但我如何定位它?

有没有一种方法可以在打开它的相应窗口时识别由 prism 的 ViewModelLocator 创建的 ChildViewModel 实例?

我想触发 ChildViewModel 应该加载它的数据,基于来自 MasterViewModel 的参数。

在代码中,inMasterViewModel有一个ICommandin a,负责通过发布事件请求打开一个新的子窗口,并且有一个对应的订阅者。

请注意,他们MasterViewModel对 UI 实现一无所知。

订阅者在自定义上调用ShowWindow方法,该方法WindowManager基本上解析了与传入的 ViewModel 对应的视图(在本例中为窗口)。

适当的窗口的 xaml

0 投票
1 回答
680 浏览

wpf - 如何使用 mvvmlight 处理依赖注入

我不知道如何在 MainWindowViewModel 的构造函数调用中注入参数。我想要的是在 viewmodellocator 中注册当前主窗口(this)的实例。我怎样才能做到这一点?

这是我在 viewmodellocator 类中的情况:

主视图模型:

主窗口.xaml

0 投票
2 回答
604 浏览

wpf - 如何在单独的库中设置视图和视图模型的数据上下文

我的项目是

  1. 学生.shell.client
  2. 学生.views
  3. 学生.viewModels
  4. 模块.学生

student.views 有 student.viewModels 参考,在 stuent.views used 中ViewModelLocator.AutoWireViewModel= true,它没有解析视图模型。在不同的项目中拥有视图和视图模型不是一个好习惯吗?如何在这里连接视图和查看模型?

0 投票
1 回答
432 浏览

mvvm - 如何在 MvvmLight 的 IoC 中注册多个接口实现?

在 LightInject IoC 中注册多接口实现

如何使用 MvvmLight 的 Ioc 解决问题?我有多个 DataService(DataService1、DataService2、DataService3 ...)。它们都是IDataService,需要与多个ViewModel联系。mvvmlight 做不到:</p>

0 投票
1 回答
942 浏览

c# - 将 App.xaml 设置为 UserControl WPF(以连接定位器)

情况 :

我目前正在尝试将 my 连接DataContext到我的ViewModel. 我正在使用GalaSoftMvvmLight.

但事实是我没有.Window因为我将把这段代码集成到另一个程序中,该程序有Window. 所以我只有UserControl.

问题 :

我不知道为什么,但我无法连接我DataContextUserControl.

我收到这个错误{"Cannot find resource named 'Locator'. Resource names are case sensitive."}

问题 :

如何将我的 App.xaml 资源正确连接到我的 View ?如果没有它是不可能的Window,我怎么能用这样DataContext的东西打电话

这是我的代码:

应用程序.xaml

应用程序视图.xaml

视图模型定位器

0 投票
1 回答
52 浏览

c# - 如何使用 MVVMLight 和 viewmodelocator 在 MainView 中为重复的用户控件创建唯一实例,

这可能是一个微不足道的问题,但找不到解决这个问题的好方法。我确实有一个在主视图中重复的用户控件(MyUserControl)。usercontrol 的一个实例呈现源对象,一个呈现目标对象。视图是相似的,但我需要知道用户控件的视图模型中哪个是源,哪个是目标。MainView 有 SourcenContent 和 TargetContent。所以问题是我如何在用户控件的视图模型中分离 SourcenContent 和 TargetContent?

主窗口`

`

主视图模型

视图模型定位器

用户控制

MyUserControlViewModel

0 投票
1 回答
1400 浏览

c# - 如何在 MVVM Light xamrin 中清除 ViewModel 的数据?

我现在正在研究 Xamrin Form。我对 ViewModel 的清晰数据有疑问。

当我注销并以不同的用户登录时,它会显示以前用户的数据,因为值UserProfileViewModel不清楚。

当用户注销时,我想从 UserProfileViewModel 类文件中清除用户数据。目前,当用户单击注销时,我手动执行此操作。我想要像 dispose 这样的任何默认方法来清除所有类成员。

我试图继承 IDisposable 接口,this.Dispose();但这也没有用。

我也尝试过使用以下默认构造函数,但它会引发错误

在 app.xaml.cs 的这一行:public static ViewModelLocator Locator => _locator ?? (_locator = new ViewModelLocator());

在给定的代码中,您可以看到在 Logout 调用中,我调用了方法

数据。它是手动的。我想在用户注销时清除数据。

查看模型注销页面

0 投票
1 回答
601 浏览

wpf - 以 IEventAgrrregator 作为参数的 ViewModel 构造函数

在我的应用程序中,我通常使用不带任何参数的 ViewModel 构造函数,并从 xaml 中找到我的 ViewModel,如下所示。

通过使用它,我可以在设计时在 xaml 中轻松引用我的 ViewModel 属性。

但是,由于我会在两个 ViewModel 之间进行通信,因此我开始使用Prism 6(事件聚合器)。

我正在使用Bootstrapper加载应用程序。

由于我使用的是 IEventAggregator,我不得不使用 prism:ViewModelLocator.AutoWireViewModel="True" 来定位 ViewModel。否则,应用程序不会运行。现在,我无法将 ViewModel 用作资源,也无法将其附加到 DataContext。

我不希望 Prism 自动定位相应的 ViewModel,我想控制它。我想在 xaml 中找到它并将其分配给 DataContext。

有谁知道我如何实现这一目标?

0 投票
1 回答
801 浏览

c# - 使用 MVVMLight 的 WPF UserControl 找不到 ViewModelLocator

我有两个问题。我有一个 WPF UserControl,它是另一个 WPF 应用程序的 .dll 插件。

首先是,除非我在使用我的 Usercontrol dll 的 WPF 应用程序中安装 MVVMLight,否则它会抱怨找不到任何 MVVMLight 库。无论如何我不必使用我的 UserControl dll 在主 WPF 应用程序上安装 MVVMLight 吗?

其次,它在我的 UserControl 中找不到 ViewModelLocator。我尝试将其设为我的 UserControl 的 StaticResource,但找不到 ViewModelLocator。

请帮忙。

0 投票
2 回答
499 浏览

c# - 如何在用户控件中使用 ViewModelLocator?

我被要求将使用 MVVM 模式的独立 WPF 应用程序转换为用户控件。这个应用程序由一个主窗口和几个其他窗口组成。但是,我在尝试这样做时遇到了一些错误,这些错误都指向我的 App.xaml 类和声明为转换器的其他资源:

Library project file cannot specify ApplicationDefintion element. The project file contains a property value that is not valid. The name "ViewModelLocator" does not exist in the namespace "clr-namespace:MapperX.ViewModels".

所以看起来错误围绕着我的 ViewModelLocator。

目前项目目录结构设置如下:

顶级 -> ViewModels 文件夹 -> ViewModelLocator

App.xaml 的设置如下:

这是该ViewModelLocator课程的一个片段:

然后我DataContext为视图 .xaml 设置如下: DataContext="{Binding Path=MainViewModel, Source={StaticResource ViewModelLocator}}"

在没有 App.xaml 的情况下仍然能够使用 ViewModelLocator 的正确方法是什么?