问题标签 [mvvm-toolkit]

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 回答
985 浏览

silverlight - 使用 MV-VM Light 根据 Silverlight 4 中的业务规则标准标记 DataGrid 行

如果包含该单元格的行符合给定规则(假设其文本必须具有值“不完整”),我编写了代码来更改 DataGrid 单元格的前景属性。我可以通过在后面的代码中捕获 LoadingRow 事件并在那里编写我的逻辑来使这项工作变得相当容易,但我觉得这不是一个非常优雅的 MVVM 实现。这是代码:

有人可以告诉我是否有更好的方法来使用 MVVM Light 工具包来实现这一点,也许是通过 RelayCommand 和一些聪明的数据绑定?

在此先感谢您的帮助!

0 投票
3 回答
255 浏览

wpf - 哪些 MVVM 框架有助于更轻松、更快速地开发应用程序?

我知道有一些 MVVM 框架,例如 MVVM Toolkit、MVVM Light 和 Prism。

我想知道使用哪些 MVVM 框架可以更轻松、更快速地开发应用程序?

0 投票
1 回答
699 浏览

silverlight-4.0 - MVVM Light Toolkit 设计方法(导航和视图加载)

我正在 Silverlight 中构建一个具有 4-5 个视图的简单应用程序。我遇到了 MVVM Light 工具包,我认为它适合我的需要。

背景

应用程序将具有典型列表和详细信息显示的视图

  • 制造商
  • 产品

等等,带有左侧导航、页眉和页脚(用户控件)。

我正在考虑在设计时创建一个带有用户控件的主页。

问题

从左侧导航控件中选择链接时,中央面板应使用不同的视图进行更新(如制造商、产品等)

我了解 Messenger 是轻工具包中不同虚拟机之间通信的一种选择。

问题

如何使用 MVVM 轻量级工具包设计我的应用程序。中央窗格需要在运行时加载不同的视图。

我特别关注实现应用程序导航部分的帮助。

谢谢你。

0 投票
2 回答
938 浏览

silverlight - 简单的 MVVM 工具包 - 有什么限制吗?

我正在使用 WCF RIA 服务构建 Silverlight LoB 应用程序。为了实现 SL,我查看了可用的 MVVM 工具包\框架。我正在构建的应用程序非常轻巧,有 8-10 个 UI 屏幕,具有典型的列表和详细信息(CRUD 操作)。

我尝试使用 MVVM light,但它并不支持 WCF RIA 服务项目模板。需要做一些定制。

然后我遇到了这个名为Simple MVVM的工具包。它工作正常并满足我的要求。

但是在我开始使用这个工具包实现我的应用程序之前,我想知道它是否有任何限制/已知问题。

站点有 MVVM 框架的比较,但 Simple MVVM 的评分较低。此比较是使用旧版本的 Simple MVVM 完成的。

这方面的任何信息都会有所帮助。谢谢你。

0 投票
1 回答
834 浏览

.net - 使用 MVVM 轻量级工具包动态创建 ViewModel

我有一个搜索视图和详细信息(2-3)视图,这取决于搜索视图的选择。在选择时,搜索视图模型发送消息以将视图更改为主视图模型,并且还发送带有所选 ID 的消息。

当主视图模型收到视图更改消息时,它会调用详细视图 1。这将在 Locator 中查找 datacontext 中指定的视图模型。验证此视图详细信息后,应显示详细视图 2,并在搜索中显示所选用户的详细信息。

我在看 MIX 11 的视频。有点想法。但我想使用 MVVM 工具包 3 来做到这一点。

因此,如果我创建一个包含所有详细视图模型的类并在选择更改事件时填充所需的视图模型对象,我应该会很好。但是我还应该在定位器中声明静态虚拟机吗?如果视图正在寻找 detailviewmodel1 类型的数据上下文,我如何与视图模型定位器通信,使用此类而不是定位器中的静态 VM?

0 投票
1 回答
2279 浏览

mvvm-light - 每个视图模型是否应该由单个 ViewModelLocator 处理?

我开始探索 MVVM 灯并开始设计我的不同 viemModels。我已经浏览了很长时间以找出我正在寻找的东西,但我无法得到它:-(。

我拥有的一个示例基于单个 MainViewModel,它在 ModelViewLocator 内处理。在大多数情况下,我们将拥有多个视图模型,所以应该在单个 ViewModelLocator 文件中定义所有视图模型,还是每个视图都必须有一个 ViewModelLocator?

换句话说,我需要得到这个: MainViewModel -> MainViewModelLocator PictureViewModel -> PictureViewModelLocator


好的,但还有一个问题:假设我有 3 个视图模型,我创建为 ViewModel1、2 和 3 在 ViewModelLocation 中,我创建了与 MainViewModel 相同的结构,以便创建它的实例并创建一个主要属性访问模型实例。

我发现的问题是,如果与每个视图模型对应的每个视图都设置为自己的数据上下文作为 ViewModelLocator.ViewModelx,则视图实例是在设计时创建的,如果在视图的构造函数期间我需要调用从 WCF 服务获取数据的外部类。它会生成“实例创建错误”。

另一方面,如果我在每个视图中绑定,则不是从 ViewModelLocator.ViewModelx 而是直接从 ViewModelx 绑定,那么我不会收到该错误并且工作得更好。

那么正确的做法和逻辑路径是什么:

1 - MainViewModel 是否应该创建所有其他视图模型?2 - 每个视图是否必须绑定到 ViewModelLocator 中它自己的 MainStatic 属性?3 - 每个视图是否创建自己的 ViewModel 实例?

我所做的方式是,我的 View 在创建 ViewModel 构造函数期间从外部类返回服务数据仅在我将其直接绑定到 ViewModel 时才有效,这样做有麻烦吗?

0 投票
1 回答
1841 浏览

c# - Intellisense 不适用于 MVVM 轻型工具包

我昨天开始使用 MVVM 模式。但是为了处理事件,我需要安装 MVVM 轻工具包。我这样做了,并将库添加到引用中。在 UserControl 我宣布了该库,但是当我想使用工具包时,无论我写什么都不会显示任何建议并且不接受我想写的内容并显示此错误“无法将 'EventToCommand' 类型的值添加到 'TriggerActionCollection' 类型的集合或字典中”

`

0 投票
1 回答
2446 浏览

mvvm-light - 使用 MVVM Light 工具包进行数据绑定

我在使用 MVVM 工具包进行绑定时遇到了一些麻烦,如果我做的事情正确,我希望知道一些建议。首先,我有定义如下的视图模型定位器:

然后我有我的主窗口,我将数据上下文设置为: DataContext="{Binding Source={x:Static vm:ViewModelLocator.MainStatic}}"

在我的主窗口中,我有一个列表框,其中包含作为 ItemSource 的ProductViewModel集合,定义如下:

ProductViewModel 在 Products 中返回列表框的集合。列表框中的每个项目都连接到 ProductView,这是一个 userControl,定义如下:

正如您在上面看到的那样,DataContext 设置为 ViewModelLocator.ProductStatic 但它显示了一个错误,例如“无法创建 ViewModelLocator 的实例”

由于我的主窗口上的列表框为空,因此绑定似乎没有运行

1-知道我对那个错误做错了什么吗?2- 在我的场景中,我应该如何绑定 ItemSource 因为集合是 ProductViewModel 的集合?

问候哔叽

0 投票
1 回答
3579 浏览

wpf - Telerik 忙碌指示灯不可见

您好我正在尝试将 Telerik Busy 指示器与 MVVM 一起使用。我在主窗口中有忙碌指示器。当窗口中的用户控件之一发生操作(按钮单击)时,用户控件视图模型会向 MinwindowviewModel 发送消息。在消息上,应该显示忙指示符。但这不起作用。为什么这不起作用?

用户控制视图模型

用户控制视图模型是:

在主窗口视图中,根元素是

0 投票
2 回答
10249 浏览

wpf - 如何使用多重绑定将参数传递给命令?

我正在使用 MVVM 工具包版本 1。我有两个文本框 textbox1 和 textbox2。我需要在按下按钮时将这两个值作为参数传递,并且需要在名为 textbox3 的第三个文本框上显示结果。

我的虚拟机代码类似这样

当用户单击按钮时会调用 commandExecute 方法,但我的参数参数没有任何值。我如何将用户的值作为参数传递?并将结果返回到texbox3?