问题标签 [eventtocommand]
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.
wpf - 抛出 NullReferenceException 的 TreeView 上的 MvvmLight EventToCommand
首先,代码:
我正在使用 MvvmLight,我想使用 TreeView 中当前选定的项目调用 ViewModel 上的命令。在我尝试添加 EventToCommand 行为之前,这一切都很好。
删除块内的所有内容(包括<i:Interaction.Triggers>
块)可以防止 NullReferenceException 发生,但是在选择项目时我没有任何行为。
需要明确的是,该错误表现为 XamlParseException,其中包含 TargetInvocationException,其中包含 NullReferenceException。这是我第一次尝试使用 EventToCommand。
此异常的可能原因是什么,我该如何解决?
NullReferenceException 堆栈跟踪是:
mvvm - MVVM Light:在 XAML 中添加 EventToCommand 而不使用 Blend、更简单的方法或片段?
谁能告诉我EventToCommand
类的实际语法是什么。我认为EventToCommand
该类适用于 Silverlight / WPF 和 WP7,因此我认为它是一个更好的选择。
据我所知,我可以添加任何点击事件并将其强制添加到我ViewModel
的 .
我知道你可以在没有 Blend 的情况下添加它,但是有可用的片段吗?
或者有没有更简单的方法可以通过 VS 2010 添加它?任何帮助,或者如果有人知道这方面的好教程会很棒。
wpf - 何时在 WPF 中对命令使用事件?
嗨,我最近研究了 WPF 并开始学习事件和命令。我通常在按钮单击时使用命令,这会导致方法在我的“视图模型”中运行。
是否可以通过使用命令使 Button 对任何其他事件(例如 MouseOver 事件)做出反应?或者在这种情况下会使用 WPF 事件吗?
如果要使用 WPF 事件,那么事件处理程序实现是否应该只调用视图模型中的一个方法来保持关注点分散?
c# - 当 PreviewMouseLeftButtonDownCommand RelayCommand\EventToCommand 触发时,在 ItemsControl 中查找所选项目
我的应用程序是 wpf mvvm,对事件使用 RelayCommand\EventToCommand 绑定。我的应用程序执行了一些典型的从 ListBox 拖放到 ItemsControl 的操作(它实际上是一个顶部带有 ItemsControl 的图像控件,用于保存已放置的项目)。ListBox 填充有 vm ObservableCollection。ItemsControl 也是一个 ObservableCollection,我将放置的 MyObj 项目插入其中。
当我从 ListBox 中拖动项目并将它们放到 \on 到 ItemsControl\image 时,一切正常。在 PreviewMouseLeftButtonDownCommand 中,我使用 System.Windows.Media.VisualTreeHelper 递归地向上走可视化树,因此当我从 ListBox 拖动时,我可以找到正在拖动的 MyObj 项。但是当我尝试从 ItemsControl 中拖动一个项目时,代码不起作用。我能得到的只是项目(标签)的 DataTemplate 转换。所以我的问题是;当 PreviewMouseLeftButtonDownCommand RelayCommand\EventToCommand 触发时,如何从我的 ItemsControl 中获取所选项目?
虚拟机 C#:
silverlight - MVVM Light EventToCommand 和 Silverlight DataForm - 我需要 EventArgs 和自定义 CommandParameter。可能的?
我DataForm
绑定到 RoleViewModel 对象的集合。我正在使用EventToCommand
绑定到EditEnding
事件的MVVMLight 的行为来DataForm
在编辑角色时通知我的 ViewModel。
现在,...用户编辑一个角色并且可以单击“确定”、“取消”,或者他们可以简单地离开。此信息保存在(OK和其他)的DataFormEditAction
属性中。DataFormEditEndedEventArgs
DataFormEditAction.Commit
DataFormEditAction.Cancel
问题是我必须选择是选择PassEventArgsToCommand
,制作命令的签名,还是将的RelayCommand<DataFormEditEndedEventArgs>
绑定到行为的,制作签名。我两个都需要。CurrentItem
DataForm
CommandParameter
RelayCommand<RoleViewModel>
我需要EventArgs
知道用户是否取消了编辑,如果他们没有取消,我需要新的角色将其保存回数据库。
有人在这里有什么聪明的建议吗?我想我可以弄脏我的手并使用两个参数创建第二个行为,但如果有更优雅的解决方案,我宁愿不这样做。
任何帮助将不胜感激。
提前致谢。
load - 使用 MVVMLight EventToCommand 和页面加载事件传递命令参数?
EventToCommand 未能在加载事件上传递命令参数
当附加到页面或用户控件的 Load 事件时,EventToCommand 成功调用 ViewModel 中的处理程序,但不传递 CommandParameter。但是,相同的 XAML 附加到另一个事件,例如按钮单击,命令处理程序接收数据绑定数据作为其参数。xml:
<i:EventTrigger EventName="Loaded" SourceObject="{Binding ElementName=Control}">
<Command:EventToCommand x:Name="etcLoad"
Command="{Binding LoadCommand}"
CommandParameter="{Binding Target, ElementName=Control}" />
</i:EventTrigger>
Target 是视图上的字符串 DP。
虚拟机代码:
并且命令是这样分配的:
我几乎可以肯定,问题在于绑定比分配给目标 DP 或类似的东西晚。我有兴趣尽快找到解决方案或以其他方式从视图中获取字符串并进入从 OnNavigateTo 覆盖分配字符串的 ViewModel 中。目标是根据通过 URI 提供的查询属性提供选项卡的选择,即“/Views/DisplayTabDetails?Tab=Tab1”或类似的。
mvvm - MVVM light EventToCommand: 获取选中项
我有一个树视图,可以在其中单击项目。我正在使用 MVVM 轻型工具包和 EventToCommand 并且想知道选择了哪个项目。如何将其传递给我的视图模型?
focus - 初始 GotFocus 事件的 EventToCommand 失败
我开始在我当前的项目中应用 Mvvm 设计模式,我使用的框架是 Mvvm Light 工具包。现在我在使用 EventToCommand 处理“GotFocus”事件时遇到了一个问题。xaml 文件类似于:
每当触发“GotFocus”时,我都想在视图模型中执行 TestCommand。但问题是初始“GotFocus”(即加载窗口时)没有执行“TestCommand”。我已调试并发现“GotFocus”事件实际上已被触发,但由于未知原因未调用 Trigger。然后我在“Window.Loaded”事件处理程序中设置焦点,它仍然失败。
但是如果我在“Window.Activated”事件处理程序中设置焦点,就可以了。
我对发生的事情感到非常困惑。谁能详细解释一下?
windows-phone-7 - 在 ItemsControl Tap 事件上绑定 CommandParameter
我正在使用 ItemsControl,并且我想确定在 Tap 命令上选择了哪个项目。我的 xaml 在这里定义:
这是我的视图模型:
命令的事件有效,但是当我到达 ItemSelected 方法时,myItem 要么为 Null,要么我得到一个异常转换它(取决于我在 xaml 中定义 CommandParameter 的方式)。
如果我使用 ListBox 并设置,我可以做到这一点CommandParameter="{Binding SelectedItem, ElementName=MyItemsList"}
关于如何使用 ItemsControl 执行此操作的任何想法?还是性能差异在 Mango 中两者之间没有太大区别?
c# - MVVM-Light => 将命令参数和 EventArgs 传递给命令
在 Silverlight 5 中使用,MVVM-Light Toolkit
我试图找到一种方法以事件到命令的行为将两者都传递给 ViewModel。Command Parameters
EventArgs
我确实找到了一篇建议将 EventArgs 作为命令参数传递的帖子,但在我的情况下,我想在 ViewModel 中使用两者EventArgs
。Command Parameter
任何人都可以帮忙吗?