问题标签 [commandbinding]
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 - CommandSource 何时会引发 CanExcute 事件
理想情况下,实现ICommandSource接口的控件何时会引发 CanExecute事件?我试图向处理程序添加一个断点以检查它何时被引发,并且每当控件呈现在屏幕上时似乎都会执行它。有人能解释一下它什么时候会被提高以及如何随意提高吗?
mvvm - MVVM - 在一个对象列表中,每个对象都包含一个命令,我怎样才能得到适当的命令来触发?
也许我的做法是错误的,但在我的视图模型中,我有一个对象列表(CGCAppSwitchboardItem),每个对象都包含一个 DelegateCommand 属性。我的意图是,我列表中的每个项目(CGCAppSwitchboardItem)都将代表我的解决方案中的一个模块,从而调用该命令将加载一个模块。或者,更好的说法是,我正在使用这个列表来构建一个按钮或菜单项列表,这些按钮或菜单项将在选择时打开请求的视图。
我遇到的问题是最后一个 CGCAppSwitchboardItem 的命令是不管按下按钮的命令。我已经通过以不同的顺序添加它们来测试这一点,无论最后添加哪个,这就是被触发的命令。我怎样才能得到适当的命令来触发?
编辑:我已经缩小了问题范围,不知道该怎么做。问题出现在我将其分配给 RunMethod 时创建的通用函数中。如果您查看下面的代码,我会在创建 CGCAppSwitchboardItem 类时分配 RunMethod。如果您查看我的通用函数,我将传入 itm.ModuleName 属性。显然,新创建的委托,即我分配给 RunMethod 的委托,保留了对 itm.ModuleName 的引用,而不是我想要的字符串值。由于这是一个循环,因此 itm 变量仍然设置为列表中的最后一个模块。因此,当调用 RunMethod() 时,它引用 itm.ModuleName 而不是“MyModuleName”。有任何想法吗?
//...为简洁起见删除了代码 private void PopulateSwitchboardItems() { if (_moduleCatalog != null) { _switchBoardItems.Clear();
System.Windows.Forms.MessageBox.Show(itm.ModuleName); _moduleManager.LoadModule(itm.ModuleName); //_moduleManager.LoadModule("ATimesheetModule"); } } ); } } }
wpf - 带有每个选项卡绑定的 WPF 路由命令
我打算禁用和启用 TabControl 外部的按钮,就像更改当前选项卡时 TabItem 内部的按钮一样。但是 TabItem 的 CommandBindings 似乎不会影响“向上”视觉树。这样做的正确方法是什么?
使用此 XAML:
使用此代码:
wpf - WPF:无法使用命令绑定和线程控制按钮的启用/禁用状态
我有一个 WPF 应用程序,它只包含一个按钮和一个文本框来显示一些输出。当用户单击按钮时,将启动一个禁用按钮的线程,将内容打印到输出文本框,然后线程停止(此时我希望再次启用按钮)。
该应用程序似乎正确禁用了按钮,并正确更新了文本框。但是,当线程完成时,它总是无法正确地重新启用按钮!谁能告诉我我做错了什么?
这是我的 xaml 的片段:
这是我的 ViewModel 代码(我使用的是 Josh Smith 的 MVVM 设计):
wpf - 在 wpf 中加载窗口时如何触发命令
是否可以触发命令来通知窗口已加载。另外,我没有使用任何 MVVM 框架(从某种意义上说,框架,Caliburn,Onxy,MVVM Toolkit 等,)
c# - 将功能区按钮直接添加到快速访问工具栏的问题
我正在尝试使用 CanAddToQuickAccessToolBarDirectly 属性将功能区按钮直接添加到快速访问工具栏。为了做到这一点,我已经阅读了一个命令必须从这个来源(http://blogs.msdn.com/b/llobo/archive/2010/08/06/wpf-ribbon-basics.aspx#评论)。当我向按钮添加命令时,它会被禁用(灰显)。
下面是与按钮关联的 XAML 代码片段、问题的直观表示以及 RibbonBar 的关联 CommandBindings:
(链接:http: //i.stack.imgur.com/mV53U.png)
对此问题的任何帮助将不胜感激。这个 RibbonControlsLibrary.DLL 是相当新的(8 月 2 日发布)。
wpf - CanExecute 方法会出错的问题
好吧,在我们的应用程序中,这通常可以正常工作。但在某些时候,CanExecute 方法都不会触发(即使我明确调用 CommandManager.InvalidateRequerySuggested(),CanExecute 方法也不会运行)。无论如何,尽管它们没有运行,但它们都设置为 false,因此绑定到 CommandBinding 的每个按钮、菜单项等都会被禁用,直到我单击 MainWindow。
现在,我怀疑是另一个 Window 导致了这种情况,当我们执行某个操作时,会弹出一个 Window,然后在执行下一个操作后,所有按钮都被禁用,而无需通过 CanExecute 方法。
有没有人见过这样的行为?非常感谢任何有关如何解决此问题的建议。
谢谢。
c# - 如何使发件人成为按钮而不是 WPF CommandBinding 中的 MainWindow?
WPF MainWindow 中的 Button 具有正常的命令属性。单击时,处理程序方法接收发送者。但发件人始终是 MainWidow。如何让发件人成为按钮?我需要它是一个特定的按钮,因为我将此命令设置为几个按钮,并希望对许多发件人使用单个处理程序。谢谢
wpf - 如何使用路由命令的文本作为按钮内容
我在视图上有一个按钮,该按钮通过 RoutedUICommand 绑定到 ViewModel 中定义的命令。
视图中的 XAML 代码摘录:
在 View 的 CodeBehind 中,我将 ViewModel 中的命令绑定添加到视图的绑定集合中:
ViewModel 本身实现了命令:
所以命令是用文本和名称定义的“登录”。该按钮本身具有“登录”内容。有没有办法将命令的文本用作按钮的内容?
wpf - 命令绑定问题。如何启用命令按钮
我的代码在这里>>
在 xaml 上,我有文本框和按钮。由 绑定的文本框,由 绑定的url
按钮AddAttackTask
。当我更改文本框值时,Url 更改。主要目标是更改 url 时,按钮启用或禁用。但按钮总是禁用。
我正在使用 Model-View-ViewModel 设计模式从 WPF 应用程序中获取 RelayCommand 类
我的代码有什么问题?
请修复我的命令绑定!