问题标签 [delegatecommand]

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

wpf - 如何对 CanExecuteChanged 和 RaisePropertyChanged 进行单元测试

我正在尝试练习严格的 TDD,并且遇到了与 DelegateCommands 相关的问题,并测试了 CanExecute 是否已被调用。

这是我的两个测试标题:“当我从列表中选择一个项目时,我应该能够添加子项目”“当没有从列表中选择项目时,我应该无法添加子项目”

现在第一个测试通过了,因为我的单元测试从未调用过 CanAddChildItems,所以我编写了第二个测试以确保调用 CanAddChildItems。即使我将 AddChildItems.RaiseCanExecuteChaned() 放入 SelectedListItem 的设置器中也不是。

显然,如果没有 AddChildItems.RaiseCanExecuteChaned(),应用程序不会按要求运行,但如果我没有真正测试它的测试,我就不能把它放进去!

那么有什么想法可以让我自信地测试这个场景吗?

0 投票
2 回答
5972 浏览

wpf - 为什么要使用 RelayCommand 或 DelegateCommand 而不是仅仅实现 ICommand?

我只是在 WPF 中学习 MVVM,我对 WPF 和 MVVM 都是全新的(我了解它的工作原理,但从未使用过它......)

我在网上找到的每篇教程/文章都使用 RelayCommand 或 DelegateCommand。

在我看来,这些模式迫使 VM 违反 SRP 原则,因为它将在其中保存命令逻辑。

为什么不直接使用 ICommand 接口的自定义实现?像这样:

想象一下,您正在显示一个人并将其保存到数据库:

我的 Xaml 将是这样的:

这是我的虚拟机:

这是我的命令:

我的方法有什么问题?

0 投票
5 回答
9394 浏览

iphone - 是否有像 scrollviewDidScroll 这样的 uipickerview 委托方法?

我有一个自定义的 UIPickerview,我不想使用日期选择器。我想实现当用户向下/向上滚动小时时,AM/PM 组件在小时滚动时切换的功能。这意味着我需要在调用 pickerView didSelectRow 之前切换它。有没有办法做到这一点?

谢谢

0 投票
3 回答
339 浏览

jquery - jQuery:live() 和委托()

我将单击事件绑定到 div 元素,该元素是在单击按钮后创建的。我正在使用 .live() 并且这是有效的。我听说我不应该使用 .live,而应该使用 .delegate()。所以我试过了,但它不工作,但 .live 工作。

我的工作 jQuery:

不工作的jQuery:

我的 div 的 HTML

谁能告诉我,为什么委托不为我工作?

0 投票
1 回答
1288 浏览

vb.net - C# 到 VB.NET 的委托命令翻译

你们哪位大师可以帮忙翻译一下吗?

未为“Private Sub OpenUserDetail(userList as Model.UserList)”的“userList”指定参数。它适用于 C# 版本,只是不确定 C# 到 VB 的转换。任何帮助将不胜感激。:)

C# 中的原始声明:

VB翻译:

笔记:

VB版本——UserList是类实例
C#版本——EmailDocument是类实例

########### 编辑

添加更多细节:

XAML 调用代码:

VB.NET 属性:

0 投票
1 回答
323 浏览

events - Actionscript 2.0 事件的范围

我在手机上使用 Actionscript 2.0,无法理解事件。

我正在使用我的所有代码创建一个类对象并使用一组函数(全部作为该类的直接第一级子级)。有一个函数可以创建一个带有正方形的 Movieclip,并将 onPress 事件设置为另一个名为 hit 的函数:



然后在我的事件处理程序中,我无法获得正确的范围......

出于某种原因,虽然范围设置为调用对象(Sqr,Movieclip)并且我可以访问我定义的属性,但我不能使用 Movieclip 对象的“本机”属性。

关于如何访问被按下的 Movieclip 对象的 _x、_y 和其他属性的任何建议。

0 投票
1 回答
171 浏览

c# - e.Tag DelegateCommand 绑定

我有一个小问题,找不到解决方法。我创建了一个带有命令绑定的按钮。此按钮调用 DelegateCommand,但我需要此按钮的“e.Tag”,而 DelegateCommand 只返回“null”。那么你们中有人知道解决这个问题的方法吗?附言。ImgSource ist 绑定到 Imagesource 所以我需要这种方式在运行时更改它。按钮本身有效..

0 投票
2 回答
8272 浏览

c# - 如何为所有 DelegateCommand 和 DelegateCommand 调用 RaiseCanExecuteChanged在基础 ViewModel 类中

我正在使用 Prism 和 MVVM 开发 WPF 应用程序。

应用程序的要求之一是能够以不同的用户身份登录(具有不同的权限)。

现在大多数权限都是简单的允许或禁止显示特定视图。所有这些都作为DelegateCommand或有时作为DelegateCommand<T>

如果用户有权显示特定视图,则这些命令的 CanExecute 将返回 true。我也有一个持有用户信息和权限的单例 Sessionmanager。

当用户登录时,我正在使用 EventAggregator 触发一个事件。在所有 ViewModel 的基类中,我订阅了该事件并使用反射循环通过 VM 的所有公共属性(类型为 DelegateCommand)并为该命令调用 RaiseCanExecuteChanged。

这适用于所有非泛型 DelegateCommand 属性,但当然不会影响DelegateCommand<T>.

我的问题是如何确定该属性的类型DelegateCommand<T>并转换为该特定类型以便能够调用 RasieCanExecuteChanged?

0 投票
1 回答
921 浏览

wpf - 如何将工具提示绑定到不同条件的按钮

如何为不同的条件动态绑定工具提示
我们有 2 个解决方案中的项目 v 正在使用 PRISM 框架 GeneralBL 包含业务逻辑,StudentManagementUI 包含用户控件、视图和视图模型

让 StudentStatusUserControl.xaml.cs 包含 Telerik RadButton

这是为特定条件启用的,当它被禁用时,我们必须根据条件显示鼠标悬停或工具提示信息

在 StudentStatusViewModel.cs

GeneralBL 项目中的 SharedLogicBL.cs

在上述方法中检查用户是否有权限,如果没有 Tooltip 按钮“用户没有权限”让第一个条件为 true ,在 Orders.Any() 中返回 false 那么我们应该显示“选定的学生没有订单”

在 GeneralBL 项目中的 StudentStatusUserControlBL 的 StudentStatusUserControl.xaml.cs 中也有一个依赖属性

0 投票
3 回答
6598 浏览

wpf - 使用 DelegateCommand 的 CanExecute 操作

我在 Prism / WPF 项目中有一个这样的 ViewModel 类。

上述 ViewModel 中使用的 person 类型定义如下:

ContentViewModel 的一个实例被设置为 View 的 DataContext。在视图中,我使用绑定到 Person 如下:

当我对绑定到 FirstName 等 Person 属性的 TextBox 进行更改并单击 Save 时,我可以看到 ViewModel 命令处理程序中的更改。但是,如果这些属性中的任何一个在验证中失败,则永远不会执行 CanSave 并且永远不会禁用按钮。

如何在上述场景中禁用基于 DelegateCommand 的 CanExecute 操作处理程序的按钮?