问题标签 [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.
c# - 具有命令绑定的多个参数
我有一个带有命令绑定和使用 Prism 库的文本块。
这是 XAML 部分:
这是背后的 ViewModel:
这是侦听此事件触发器并以 SSN 作为参数启动函数的 GridViewModel
如何添加另一个参数,例如 datetime 参数,让我感到困惑的部分是:
此发布功能只需要一个参数,因此我看不出如何轻松添加多个参数。??
wpf - 停止在 UserControl 中序列化的 CommandBindings
我有一个以编程方式设置其命令绑定和内容的用户控件。
我还将这个控件序列化为 XAML。我不希望内容或绑定被序列化,因为我设置了这些。内容通过覆盖来处理:
我很高兴看到命令绑定的等价物:
但是,这个函数不是虚拟的,通过在我的实现中指定 new 来隐藏它似乎什么都不做?根据此 MS 页面,这似乎是推荐的使用方法:http: //msdn.microsoft.com/en-us/library/53b8022e (v=vs.85).aspx
我还尝试隐藏 CommandBindings 属性并使用 [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)],但这只会破坏我的绑定。
谁能告诉我正确的方法?这是一个错误吗?
wpf - 尽管在 WinForms 文本框中具有焦点,但 WPF 命令仍会触发
鉴于:
按Ctrl+ XinWinFormsTextBox
会CommandBinding_Executed
触发,但在WpfTextBox
.
我希望有WpfTextBox
for的行为WinFormsTextBox
。即命令应该只在没有焦点时触发 - 它应该像全局视图命令或其他东西一样工作。
注意:向命令的CanExecute
事件添加处理程序仅有助于防止任何事情发生WinFormsTextBox
(当设置为- 时, Ctrl+X被完全吞没,意味着没有文本被剪切),或者正常执行。e.CanExecute
true
注意 2:Cut 只是一个示例,我想要一个适用于任何命令绑定的解决方案。
注意 3:该命令应该能够从另一个控件触发,如果它有焦点 - 比如 ListView 或其他东西。除非它有一个在其中有焦点的文本框(想想编辑模式)。
我不确定是否真的可以做任何事情,我不想接受必须在CommandBinding_Executed
方法中添加特定处理。但是,C'est la vie。
wpf - WPF ContextMenu CommandBinding 已禁用
我有一个按钮和一个绑定到同一命令的上下文菜单,当我启动应用程序时,该按钮已启用,但上下文菜单项未启用(正如我所说,它们绑定到同一命令)。只有在我单击按钮后,上下文菜单项才会启用。有人知道为什么吗?
这是 XAML:
谢谢!
编辑:
命令代码:
命令事件处理程序(在 MainWindow.xaml.cs 中):
silverlight - 如何使用 MVVM 模式在 Silverlight 中绑定自定义事件而不使用 Blend?
我正在开发一个涉及图表控件的 Silverlight 项目。
我正在使用 Chart Control & 在它的系列上我实现了左键单击上下文菜单,它有两个 MenuItem,即。“扩展”和“钻取”。
对于这两个菜单项,我已经声明了单独的单击事件,注册并引发了它们。然后我将 XAML 中的这些事件绑定到视图模型中的 ICommand 属性。
但是在调试代码时,我得到“ExpandClickEvent”和“DrillClickEvent”为空,因为没有人在听它。
我在另一个名为 ChartBaseControl 的用户控件中使用此 WebChart 控件,该控件又在另一个名为 Graph Control 的用户控件中使用。DataContext 正在正确设置。我创建了一个名为 ViewModelGraphControl 的 ViewModel。
我相信我缺少一些东西。请看好问题。
编辑内容:XAML:
wpf - 有没有办法在 Button 完成 ICommand 执行时获得回调?
有没有办法可以在我的控件的按钮(最终执行)中附加一个处理程序(回调),ICommand
以便我的控件知道命令执行何时完成?
c# - 在一个窗口中定义的 WPF CommandBindings 在另一个窗口中不可用
我有这个问题,我在 MainWindow 中定义了所有这些 CommandBindings,并且所述命令在该窗口中可用,可用于任何 Button 或 MenuItem。问题是,如果在其他窗口中命令绑定不可用(它总是错误的),即使新窗口的所有者是 MainWindow。
任何帮助都非常感谢。
这是代码。
XAML 主窗口:
CS主窗口:
CS LocalCommandManager:
XAML 子窗口:
c# - 将 Command CanExecute 和 Executed 处理程序置于主窗口类之外的问题
基本上,我为分配给 Window.CommandBindings 的命令本身设置了一个命令绑定:
local 是默认生成的命名空间,指向应用程序的命名空间。我在这里想要实现的是在 TimerViewModel 内进行命令处理,但我不断收到以下错误:
CanExecute="local:TimerViewModel.AddTimer_CanExecute" 无效。'local:TimerViewModel.AddTimer_CanExecute' 不是有效的事件处理程序方法名称。只有生成类或代码隐藏类的实例方法才有效。
TimerViewModel 虽然非常简单,但我相信我遗漏了一些东西:
谁能指出我犯的错误?
c# - InputBinding 和 WebBrowser 控件
我有一个非常简单的应用程序,我试图将键盘快捷键绑定到绑定到菜单项的 WPF 命令。应用程序本身只包含一个Menu
和一个WebBrowser
控件。
当我在 中时WebBrowser
,键盘快捷键不会路由到 WPF 菜单。例如,在 Web 浏览器中聚焦时键入“Ctrl+O”会显示 IE 打开页面。此外,在此应用程序中,除非我将菜单设为焦点(通过键入 Alt),否则不会触发输入绑定。例如,我无法通过单击标题栏然后键入快捷方式来关注 WPF 窗口。完整代码复制如下:
主窗口.xaml
主窗口.xaml.cs
wpf - 命令和菜单
我已经构建了一个 UserControl,其中包含许多包含 TextBlock 控件的边框。TextBlocks 的 Text 属性设置为来自我的 ViewModel 对象的数据。
我在 UserControl 的资源中添加了几个上下文菜单:
我在我的 TextBlocks 中添加了对上下文菜单的引用。这是一个例子:
最后,我在 UserControl 中添加了 CommbandBindings:
迄今为止,我对所有这一切都有两个问题:
当我右键单击控件时,我会看到菜单,但选项是灰色的。我在 CopyCommand_CanExecute、CopyCommand_Executed 和 CopyPlateCommand_Executed 方法的开头放置了断点。到目前为止,这些断点仅在一次运行中就被击中。我不知道他们为什么在那次被击中,但之前或之后都没有。如何确保每次都调用 CanExecute 方法?
有一次断点确实被击中,参数的 Source 属性不是我认为的控件,而是 UserControl。我需要知道 UserControl 上的哪个 TextBlocks 引发了事件。我怎么做?
托尼
编辑:
UserControl 还包含一个 ComboBox 控件。我发现当我在下拉组合框后右键单击 TextBlocks 时,CanExecute 方法确实会运行。我不必在组合框中选择任何内容,只需单击它即可。
任何想法 ComboBox 可能在做什么我的代码不是?
另一件事是下拉ComboBox后,Execute事件参数的OriginalSource就是ComboBox。我想在几个 TextBlocks 上使用相同的 Copy 命令,并且我需要知道使用了哪个的上下文菜单,以便知道要复制到剪贴板的 TextBlock 的哪个文本。帮助!