问题标签 [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.
c# - 棱镜: ViewModelLocator 创建视图模型实例,但我如何定位它?
有没有一种方法可以在打开它的相应窗口时识别由 prism 的 ViewModelLocator 创建的 ChildViewModel 实例?
我想触发 ChildViewModel 应该加载它的数据,基于来自 MasterViewModel 的参数。
在代码中,inMasterViewModel
有一个ICommand
in a,负责通过发布事件请求打开一个新的子窗口,并且有一个对应的订阅者。
请注意,他们MasterViewModel
对 UI 实现一无所知。
订阅者在自定义上调用ShowWindow
方法,该方法WindowManager
基本上解析了与传入的 ViewModel 对应的视图(在本例中为窗口)。
适当的窗口的 xaml
wpf - 如何使用 mvvmlight 处理依赖注入
我不知道如何在 MainWindowViewModel 的构造函数调用中注入参数。我想要的是在 viewmodellocator 中注册当前主窗口(this)的实例。我怎样才能做到这一点?
这是我在 viewmodellocator 类中的情况:
主视图模型:
主窗口.xaml
wpf - 如何在单独的库中设置视图和视图模型的数据上下文
我的项目是
- 学生.shell.client
- 学生.views
- 学生.viewModels
- 模块.学生
student.views 有 student.viewModels 参考,在 stuent.views used 中ViewModelLocator.AutoWireViewModel= true
,它没有解析视图模型。在不同的项目中拥有视图和视图模型不是一个好习惯吗?如何在这里连接视图和查看模型?
mvvm - 如何在 MvvmLight 的 IoC 中注册多个接口实现?
如何使用 MvvmLight 的 Ioc 解决问题?我有多个 DataService(DataService1、DataService2、DataService3 ...)。它们都是IDataService,需要与多个ViewModel联系。mvvmlight 做不到:</p>
c# - 将 App.xaml 设置为 UserControl WPF(以连接定位器)
情况 :
我目前正在尝试将 my 连接DataContext
到我的ViewModel
. 我正在使用GalaSoftMvvmLight
.
但事实是我没有.Window
因为我将把这段代码集成到另一个程序中,该程序有Window
. 所以我只有UserControl
.
问题 :
我不知道为什么,但我无法连接我DataContext
的UserControl
.
我收到这个错误{"Cannot find resource named 'Locator'. Resource names are case sensitive."}
问题 :
如何将我的 App.xaml 资源正确连接到我的 View ?如果没有它是不可能的Window
,我怎么能用这样DataContext
的东西打电话
这是我的代码:
应用程序.xaml
应用程序视图.xaml
视图模型定位器
c# - 如何使用 MVVMLight 和 viewmodelocator 在 MainView 中为重复的用户控件创建唯一实例,
这可能是一个微不足道的问题,但找不到解决这个问题的好方法。我确实有一个在主视图中重复的用户控件(MyUserControl)。usercontrol 的一个实例呈现源对象,一个呈现目标对象。视图是相似的,但我需要知道用户控件的视图模型中哪个是源,哪个是目标。MainView 有 SourcenContent 和 TargetContent。所以问题是我如何在用户控件的视图模型中分离 SourcenContent 和 TargetContent?
主窗口`
`
主视图模型
视图模型定位器
用户控制
MyUserControlViewModel
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 调用中,我调用了方法
数据。它是手动的。我想在用户注销时清除数据。
查看模型注销页面
wpf - 以 IEventAgrrregator 作为参数的 ViewModel 构造函数
在我的应用程序中,我通常使用不带任何参数的 ViewModel 构造函数,并从 xaml 中找到我的 ViewModel,如下所示。
通过使用它,我可以在设计时在 xaml 中轻松引用我的 ViewModel 属性。
但是,由于我会在两个 ViewModel 之间进行通信,因此我开始使用Prism 6(事件聚合器)。
我正在使用Bootstrapper加载应用程序。
由于我使用的是 IEventAggregator,我不得不使用 prism:ViewModelLocator.AutoWireViewModel="True" 来定位 ViewModel。否则,应用程序不会运行。现在,我无法将 ViewModel 用作资源,也无法将其附加到 DataContext。
我不希望 Prism 自动定位相应的 ViewModel,我想控制它。我想在 xaml 中找到它并将其分配给 DataContext。
有谁知道我如何实现这一目标?
c# - 使用 MVVMLight 的 WPF UserControl 找不到 ViewModelLocator
我有两个问题。我有一个 WPF UserControl,它是另一个 WPF 应用程序的 .dll 插件。
首先是,除非我在使用我的 Usercontrol dll 的 WPF 应用程序中安装 MVVMLight,否则它会抱怨找不到任何 MVVMLight 库。无论如何我不必使用我的 UserControl dll 在主 WPF 应用程序上安装 MVVMLight 吗?
其次,它在我的 UserControl 中找不到 ViewModelLocator。我尝试将其设为我的 UserControl 的 StaticResource,但找不到 ViewModelLocator。
请帮忙。
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 的正确方法是什么?