问题标签 [mvvm-light]

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 投票
2 回答
11604 浏览

c# - MvvmLight EventToCommand 和 WPFToolkit DataGrid 双击

试图弄清楚如何使用 EventToCommand 为行设置数据网格双击处理程序。该命令位于每一行的视图模型中。仅凭我经验,因为我还没有使用过交互。

谢谢。

我会使用 mvvmlight 标签,但我还没有足够高的代表来制作新标签。

0 投票
1 回答
887 浏览

silverlight - SL3 Nav 框架 + MVVM 灯

感谢您花时间阅读我的问题。非常感谢任何指导。

我在我的 LOB 应用程序中使用 SL3 导航框架。我目前使用 MVVM Light 作为框架指南。

我有一个由员工组成的数据网格,当“用户”单击数据网格中的“员工 ID 链接”时,我将用户转移到“编辑页面”。我想将“员工 ID”作为查询参数传输到“编辑页面”。

这里的问题是:我可以访问 EditStaffView.xaml.cs 中的查询参数——我不想这样做。

我想在我的视图模型中检索查询参数,并根据查询参数执行某些操作。当构造函数被调用时,我希望“视图”传递 Staffid,如下所示

我正在数据网格中动态构建我的超链接按钮,如下所示:

staffListingModel.HyperlinkNavigationUri = string.Format("{0}{1}", NavigationUri.DataEntryEditStaff,"?staffcode={" + staffListingModel.StaffCode + "}");

XAML 看起来

HyperlinkBut​​ton Content="{Binding StaffCode,Mode=TwoWay}" NavigateUri="{Binding HyperlinkNavigationUri}"> HyperlinkBut​​ton

知道怎么做吗?

谢谢您的帮助。穆拉里

0 投票
3 回答
2827 浏览

silverlight - Diagramming in Silverlight MVVM- connecting shapes

have I have a quesition regarding MVVM pattern in the use case diagarm.

What I have so far is a list of Items which are my Shapes.

and a Collection of Connection of Items

Each ItemViewModel has an ID and a ConnectionViewModel has two ID to connect the Items.

My ItemsViewModel Collection is bound to a Itemscontrol which is layout on a Canvas.

With the ElementMouseDragBehavior I am able to drag my Items around. Now comes my big question =) How can I visualize my connections that I will be able to move the items around and the items stay connected with a line either straign or bezier.

I don't know how to abstract that with the mvvm pattern.

Thanks for any help...

0 投票
5 回答
22165 浏览

data-binding - MVVM 在 ViewModel 构建期间或之后加载数据?

我的一般问题是如标题所述,最好在 ViewModel 构建期间或之后通过一些 Loaded 事件处理加载数据?

我猜答案是在通过一些 Loaded 事件处理构建之后,但我想知道 ViewModel 和 View 之间如何最干净地协调?

以下是有关我的情况和我要解决的特定问题的更多详细信息:

我正在使用 MVVM Light 框架以及 Unity for DI。我有一些嵌套视图,每个都绑定到相应的 ViewModel。ViewModel 通过 Laurent Bugnion 放入 MVVM Light 的 ViewModelLocator 理念绑定到每个 View 的根控件 DataContext。这允许通过静态资源查找 ViewModel 并通过依赖注入框架(在本例中为 Unity)控制 ViewModel 的生命周期。它还允许 Expression Blend 查看与 ViewModel 相关的所有内容以及如何绑定它们。

所以无论如何,我有一个父视图,它有一个 ComboBox 数据绑定到其 ViewModel 中的 ObservableCollection。ComboBox 的 SelectedItem 也绑定(双向)到 ViewModel 上的一个属性。当 ComboBox 的选择发生变化时,这是为了触发其他视图和子视图中的更新。目前,我正在通过 MVVM Light 中的消息系统来完成此操作。当您在 ComboBox 中选择不同的项目时,这一切都很好,并且符合预期。

但是,ViewModel 在构建期间通过一系列初始化方法调用获取其数据。如果我想控制 ComboBox 的初始 SelectedItem 是什么,这似乎只是一个问题。使用 MVVM Light 的消息传递系统,我目前已将其设置为 ViewModel 的 SelectedItem 属性的设置器是广播更新的设置器,而其他感兴趣的 ViewModels 在其构造函数中注册消息。看来我目前正在尝试在构建时通过 ViewModel 设置 SelectedItem,这还不允许构建和注册子 ViewModel。

在 ViewModel 中协调 SelectedItem 的数据加载和初始设置的最简洁方法是什么?我真的很想坚持尽可能少地在 View 的代码隐藏中添加合理的内容。我想我只需要一种方法让 ViewModel 知道什么时候加载了东西,然后它可以继续加载数据并完成设置阶段。

提前感谢您的回复。

0 投票
2 回答
1756 浏览

xaml - 将值从父视图模型传递或获取到子视图模型?

我正在使用 MVVM Light 框架以及 Unity for DI。我有一些嵌套视图,每个都绑定到相应的 ViewModel。ViewModel 通过 Laurent Bugnion 放入 MVVM Light 的 ViewModelLocator 想法绑定到每个 View 的根控件 DataContext。这允许通过静态资源查找 ViewModel,并通过依赖注入框架(在本例中为 Unity)控制 ViewModel 的生命周期。它还允许 Expression Blend 查看与 ViewModel 相关的所有内容以及如何绑定它们。

正如我所说的,视图有一个健康的嵌套剂量,但视图模型并不真正了解彼此。父视图通过静态资源 ViewModelLocator 绑定到其对应的 ViewModel(它使用 Unity 来控制 ViewModel 对象的构造和生命周期)。该父视图包含一个用户控件,它是另一个子视图,然后它也会通过 ViewModelLocator 获取其对应的 ViewModel。ViewModel 之间没有相互引用,也不知道彼此之间的任何层次结构。

因此,这里有一个 ViewModel 如何通过消息传递进行交互的示例。我有一个父视图,它有一个 ComboBox 数据绑定到其 ViewModel 中的 ObservableCollection。ComboBox 的 SelectedItem 也绑定(双向)到 ViewModel 上的一个属性。当 ComboBox 的选择发生变化时,这是为了触发其他 View 和子 View 中的更新。目前,我正在通过 MVVM Light 中的消息系统来完成此操作。

所以我想知道从一个 ViewModel 到另一个 ViewModel 获取信息的最佳做法是什么?在这种情况下,我需要传递给子 ViewModels 的基本上是代表当前登录用户的用户 Guid。最顶层的父视图(好吧,ViewModel)会知道这些信息,但我不确定如何将它放到子视图模型中。

我能想到的一些可能的方法:

  • 子 ViewModel 是否应该向静态资源 ViewModelLocator 请求对父 View 正在使用的同一对象的引用并以这种方式访问​​该属性?似乎 ViewModel 遍历彼此的属性不是很干净,并且不必要地将它们耦合在一起。

  • 我已经在使用消息来通知子视图用户在 ComboBox 中选择了一个新项目并进行相应更新。但在 ComboBox 中选择的对象类型与子视图所需的数据值并没有真正直接的关系。

0 投票
2 回答
1765 浏览

silverlight - 在 MVVM Light CommandParameterValue 中进行投射

这是我的问题,我想在按下此画布时传递整数 1。每次单击画布时,我都会在 GalaSoft.MvvmLight.dll 中出现“System.InvalidCastException”类型的未处理异常。现在我可以让我的生活更轻松,只需执行 RelayCommand 来接受 String 而不是 int 而是为了学习。我怎么会这样做,

0 投票
2 回答
15951 浏览

c# - MVVM-如何在文本框中选择文本?

是否有一种 MVVM 方法来选择文本框中的文本?我使用的 MVVM 框架是 Laurent Bugnion 的 MVVM Light Toolkit。

0 投票
4 回答
2756 浏览

.net - MVVM Light 工具包 - 维护?今天在这里——明天就走了?

我一直在看 mvvm light toolkit,我必须承认我没有很多经验,但我生活在我所看到的..

我确实使用了 mvvm 工具包(微软),但目前使用的是 vs 2010,目前还没有可用的模板。

我正在寻找对 mvvm light 工具包的一些见解......

是否一直维护?也就是说……明天不会消失……

或者我应该在别处寻找?

我真的很感激任何反馈...

我还看到了一些 mvvm 工具包(微软)似乎没有的关于如何混合的信息。

Prism 似乎也是一个可能的候选者,但据我了解,它不是 MVVM 框架/工具包

我会将它与 wpf 一起使用

任何帮助都非常感谢

谢谢

0 投票
1 回答
1757 浏览

wpf - 定义嵌套视图的标准约定是什么:MVVM Light 中的视图模型映射

所以在经典的 MVVM 示例中,我看到 DataTemplate 定义用于将视图模型映射到视图,在 MVVM Light 框架中执行此操作的标准方法是什么,映射应该位于哪里?以下是我现在正在做的事情和我正在谈论的例子,可混合性对我来说很重要!

主窗口:

在上面的代码中,我的 RootViewModel 类有一个具有相同属性名称的 ApplicationManagementViewModel 类的实例:

我引用 ResourceDictionary“ViewMappings.xaml”来指定我的视图模型如何表示为视图。

我应该使用 ViewModelLocator 做这样的事情吗?视图模型的集合呢?

0 投票
5 回答
1852 浏览

silverlight-4.0 - 我需要 Silverlight 中的 MVVM-light 视图控制器吗?

我有以下关于 MVVM 灯的问题:是什么“驱动”了 UI?我看到我可以为每个视图显示一个 ViewModel;ViewLocator 处理所有 ViewModel(据我所知,用于缓存)。但是是什么在驱动 UI?

如果我在 ViewModel 中定义了一个显示“ShowDetail”的命令;我是否必须编写代码才能在 ViewModel 中显示此视图?

有这方面的例子吗?谢谢!