问题标签 [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 投票
2 回答
554 浏览

c# - 清除 MenuItem,使用 clear 命令

嗨,我是 wpf 中的“非常”初学者,我正在尝试使菜单项“清除”,它应该清除焦点文本框中的文本,实际上我找不到像这样的工作的内置命令(复制,粘贴,剪切..等)

是否有内置的,或者我是否必须制作自定义路由命令,如果是这样,我尝试过但失败了,需要想法

我已经制定了 ClearCommandExecuted 逻辑,但问题在于“CanExecute”我试图在那里访问 Keyboard.FocusedElement,但失败了,因为当它被点击时,焦点元素是它自己的菜单项!!!!

请帮忙谢谢

0 投票
1 回答
987 浏览

wpf - WPF contentcontrol routedevent 事件资源文件列表

所以我有一个具有路由事件的内容控件:

更改依赖项属性时会触发此事件。我想要的是能够在事件触发时触发动画。

在我的控件资源文件中,我有以下操作(我认为)会调用查看事件并启动动画:

如果我使用 ContentControl.Loaded 动画将起作用(尽管仅在第一次更改控件的属性时),但如果我尝试为我的事件注册它,则不会发生任何事情。

这可能吗,我完全错了吗?我希望这是有道理的。

谢谢

0 投票
2 回答
226 浏览

silverlight - 如何在 Silverlight 中跨页面运行方法?

我需要能够将边框的可见性设置为可见 10 秒。边框位于 MainPage.xaml 中,它是 Content.xaml 的父级。诀窍是我需要通过单击可从 Content.xaml 访问的 ContextMenu 项目来更改边框的可见性,该项目作为 UserControl 加载到 MainPage.xaml 中。它也应该是基于数据网格中单元格值的条件。我在 Content.xaml 中建立了一个方法,它应该有条件地更改 MainPage.xaml 中边框的可见性。由于边界超出了范围,我需要找到一种能够连接到它的方法。

根据数据网格中单元格值中的内容设置可见性的代码:

我还需要运行我在 Content.xaml 中使用的方法,以从 MainPage.xaml 中的按钮修改数据网格内容。任何想法都受到高度赞赏!

更新单元格值的代码:

0 投票
1 回答
462 浏览

data-binding - 如何设置 ButtonBaseExtensions.Command DataContext,而不更改按钮的上下文

我在 WP7 应用程序中使用 mvvm light。我有一个包含对象集合的 itemsource 的列表框。列表框的 ItemTemplate DataTemplate 包含一个按钮。该按钮包含一个显示绑定对象的属性的文本块。如何在不更改数据上下文、文本块或将项目绑定到项目模板的命令参数的情况下将命令分配给按钮?

谢谢

0 投票
1 回答
712 浏览

wpf - 在 Silverlight 用户控件中使用路由事件

在我当前的项目文件中,我有一个用户控件,该控件应用了情节提要动画。当在页面中单击按钮时,情节提要开始并基本上将控件直观地呈现给用户。故事板作为资源驻留在当前页面中

在页面中,我有一个按钮,我有一个点击事件来启动情节提要

在 userControl (preferencesPanel) 中,我有一个按钮,单击该按钮需要关闭/折叠用户控件。我计划使用 Visibility.collapsed 来完成这项工作。我假设我需要使用路由命令,因为按钮位于用户控件中,但需要在包含控件的页面中调用操作?我对路由命令还是新手,我认为这是正确的方法。我只是不确定如何单击用户控件中的按钮并让它修改或执行将影响页面(此控件所在的页面)如何更改或该部分影响页面中其他元素的命令?例如,当在用户控件中单击按钮时,我希望将用户控件的可见性设置为折叠。我还希望重新调整主页内网格列之一的宽度。我过去曾使用页面背后的代码完成此操作,但我试图将其中的一些分开,我认为路由命令将是要走的路吗?我将不胜感激任何提示。

先感谢您

0 投票
2 回答
4971 浏览

wpf - WPF - 自定义控件 + ICommand(如何实现)?

基本上,我有一个自定义控件FooControl

我需要添加一些事件处理,但比起使用 RoutedEvent,我更喜欢使用 Commanding。不过,我不确定该怎么做。如果我想要它,以便当 Bar1Property (DependencyProperty) 发生更改时,它会引发 Execute 关联的执行属性。我通过 .NET Reflector 查看了 ButtonBase 代码,哇,这看起来太复杂了。添加命令这么复杂吗?显然,我还必须这样做,以便我的控件根据 CanExecuteChanged 是否更改来启用/禁用自身的某些部分。但我想那是另一部分。

到目前为止,这是我的 OnBar1Changed 函数...

0 投票
2 回答
6532 浏览

wpf - 何时在 WPF 中对命令使用事件?

嗨,我最近研究了 WPF 并开始学习事件和命令。我通常在按钮单击时使用命令,这会导致方法在我的“视图模型”中运行。

是否可以通过使用命令使 Button 对任何其他事件(例如 MouseOver 事件)做出反应?或者在这种情况下会使用 WPF 事件吗?

如果要使用 WPF 事件,那么事件处理程序实现是否应该只调用视图模型中的一个方法来保持关注点分散?

0 投票
0 回答
311 浏览

wpf - 我可以在不使用 InvalidateRequerySuggested() 的情况下在 MediaCommands 上引发 CanExecute 吗?

我有一些自定义 CommandBindings 可以确定各种 MediaCommands(播放、暂停等)的 CanExecute 状态。我想触发 CanExecute 处理程序在某些时候被调用。但是,我能弄清楚如何做到这一点的唯一方法是使用 InvalidateRequerySuggested(),它会导致一切重新计算其 CanExecute。这太过分而且很慢,所以我想找出一种更好、更有针对性的方法来更新这些命令上的 CanExecute。

看起来如果我使用了一个 DelegateCommand,我可以通过调用 RaiseCanExecuteChanged 来做到这一点,但如果可能的话,我想用现有的 MediaCommands 来做到这一点。

如果没有任何直接的方法可以做到这一点,是否有任何 hacky 解决方法?我注意到在内部重新计算 CanExecute 有一些智能(比如第一次显示 UIElements 等)

0 投票
0 回答
118 浏览

c# - 将路由命令与框架一起使用时的问题

我的 WPF 项目有一个带有许多按钮和一个框架的主窗口。我在框架内显示一个页面,上面的按钮使用路由命令来调用下面页面中的方法。跟我到现在?

在我更改页面之前一切正常。尽管这个新页面有与命令相关的方法,但路由命令似乎仍在寻找上一页中的方法。当我在命令本身中设置 typeof() 参数时,我不知道为什么会发生这种情况:

我怎样才能解决这个问题?我注意到在新选择的页面中将焦点设置在文本框上会纠正问题,但这不是一个可行的解决方案,因为页面并不总是包含字段。我也尝试过将焦点放在页面本身上,但问题仍然存在。

提前致谢。

0 投票
1 回答
434 浏览

c# - 如何使用 RoutedCommand.Name 属性?

该类RoutedCommand具有Name可以在构造函数中设置的属性。MSDN 有这样的说法RoutedCommand.Name

在 XAML 中引用 RoutedCommand 时可以使用此属性。

但是,我似乎无法找到有关如何执行此操作的信息。目前,我的命令在 XAML 中引用如下:

这不会通过其Name属性引用命令,并且无论您是否设置Name.

的目的是什么RoutedCommand.Name,如何使用?