问题标签 [routed-commands]

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

wpf - ListView.SelectionChanged 为 RoutedCommand

我正在使用 WPF 使用 MVVM 设计模式。我有一个ContextMenu包含几个项目的ListView. 根据在 中选择的项目数ListView,我想启用/禁用某些MenuItems。有没有办法将SelectionChanged事件与选定项目的数量一起ListView直接路由到视图模型。IsEnabled如果是这样,我可以很容易地在 VM 中定义一个依赖属性。我只是想避免使用代码隐藏来处理这个问题。

凯利

0 投票
1 回答
4169 浏览

.net - RoutedCommand 和 RoutedUICommand 有什么区别?

我曾尝试阅读有关它的内容,但未能找到能够令人满意地解释 RoutedCommand 和 RoutedUICommand 之间区别的文档。

0 投票
1 回答
1306 浏览

wpf - 控件之间的 MVVM 命令路由

我目前有一个带有 Button 和 ContentPresenter 的主视图,它绑定到 ViewModel 的一个属性,该属性是另一个 View(和关联的 ViewModel)。有没有办法从 ContentPresenter 中加载的控件中声明的处理程序路由命令?我这样做的原因是主视图包含工具栏,而内容演示​​者具有内容。我正在使用 Microsoft MVVM 模板和生成的 DelegateCommand 类。

0 投票
4 回答
9790 浏览

c# - 如何以编程方式触发命令

我有一个ICommand我想从代码中触发(使执行开始);我该怎么做呢?

0 投票
1 回答
627 浏览

wpf - Xamly 在调用 RoutedCommand 时开始故事板?

有没有办法在使用 XAML执行 ICommand 时开始故事板?

0 投票
2 回答
1049 浏览

wpf - 从可视树中删除元素后,如何触发 commandBinding 的 CanExecute ?

我在这里有一个相关的问题,我有一个带有命令绑定的用户控件。用户控件已从可视化树中删除,但 canExecute 仍在触发。我对指挥模型的理解是,它像路由事件一样冒泡和隧道。那么一旦附加了命令绑定的元素不再在可视树中,CanExecute 怎么能触发呢?

0 投票
1 回答
2691 浏览

wpf - WPF:在上下文菜单上更改菜单项的文本

ContextMenu在 XAML 中有以下内容MenuItem

我想通过某种方式改变Headerof来改变of 。我想在. 如果我只是更改, s 不会更新,我认为这是因为菜单在运行时已经创建。MenuItemTextRoutedCommandCanExecuteRoutedEventHanlderRoutedCommand TextMenuItemCanExecuteRoutedEventHanlder

基本上我需要一种方法来强制更新CommandMenuItem.

0 投票
1 回答
359 浏览

wpf - WPF - 如何扩展(或并行工作)内置命令机制?

如果这是一个愚蠢的问题,请原谅 - 我已经阅读了十几篇关于 WPF 命令基础架构的文章,我比以往任何时候都更加困惑。

我知道我可以使用内置命令来实现(例如)将标准剪切/复制/粘贴功能应用于任何焦点文本框的工具栏:

但我想扩展这种模式,以便可以使用单个工具栏在一系列不同控件上调用类似(但不相同)的操作。例如,我可能会创建一个从 ListBox 派生的自定义控件,它还支持剪切、复制和粘贴操作。尽管在 ListBox 上执行复制操作的编码与对 TextBox 的编码不同,但仍会从同一个工具栏按钮调用它。

所以,我的问题是:

[1] 需要在自定义控件中实现什么才能像上面的示例中那样对其进行命令?具体来说,当聚焦时,它应该可以从工具栏中发现。

[2] 工具栏中需要什么标记才能允许单个按钮调用不同的命令,具体取决于所关注的控件类型?

非常感谢您提供的任何建议。

蒂姆

0 投票
2 回答
1087 浏览

c# - 如何在这种特定的 WPF 情况下应用 MVVM 和命令?

我的 WPF 应用程序中的 MVVM 模式和命令有问题。问题不在于 MVVM 模式,而在于我的 GUI 上正在发生的事情。我解释一下情况:

我的应用程序可以 DoStuff 到某些文件。我有一个带有函数的类DoStuff(int limit)。我的用户用户界面有以下项目:

  • AButton DoStuffBtn开始解析。
  • ATextBox LimitTxt填写一个限制。
  • ACheckBox LimitChk启用或禁用限制。

当您“取消选中”LimitChk时,然后LimitTxt.Text = ""LimitTxt.IsEnabled = false。当您再次“检查”时LimitChkLimitTxt.IsEnabled = false文本仍然为空,直到您填写某些内容。

我已经阅读了许多关于 WPF 和 MVVM 中的命令的教程,但我似乎无法将我的案例倒入那个模型中。我给出的示例实际上只是我 UI 的一小部分,但我似乎也不能很好地做到这一点。

我不断遇到以下问题:

  • 我需要两个CommandsLimitChk启用和禁用)还是只需要一个(切换)?
  • 如果我绑定一个intto LimitTxt,如果我将它设为空并禁用它会发生什么?
  • 按下DoStuff(Int32.Parse(LimitTxt.Text))时使用它是一种干净的方法吗?DoStuffBtn
  • 如果我在 上使用两个命令,确定是否启用的功能LimitChk会发生什么?CanExecute()ICommandLimitChk

所以主要问题是:我描述的情况如何适合使用 WPF 中的命令的一个很好的模式?

我看过的关于 WPF、Commands 和 MVVM 的一些链接:


到目前为止我所理解的是,我必须尽可能地远离 UI。甚至像 UI 这样的东西也会影响 UI。即取消选中LimitChk禁用LimitText。尽管如此,我认为我应该在与 UI 相关的信息和操作以及实际上与必须完成的实际工作有关的内容之间保持区别。

0 投票
4 回答
7045 浏览

wpf - wpf中的多键手势

我有一个RoutedUICommandComment Selection. 我需要为这个命令添加一个输入手势,就像它在 VIsual Studio 中一样,即。( Ctrl+K, Ctrl+C)。我怎样才能做到这一点?请帮助我。(记住 VS 功能)。

问候,贾瓦哈