例如,我有一个用于 TextBox 的 ContextMenu,当用户单击 ContextMenu 中的菜单项时,我想将 TextBox 的 Text 属性设置为某个值。
这可能吗?
如果您特别询问是否可以在 XAML 中完成所有这些操作,则不能。允许您的命令和 UI 交互更新 View 的其余部分所依赖(绑定到)的 ViewModel 的值,是正确的方法。
没有看到代码:如果 TextBox 的 Text 属性已经绑定到各种 ViewModel(我只能猜测是),那么将该属性绑定/设置为MenuItem
您在ContextMenu
. 假设您Binding
是正确的,则 TextBox 的值应相应更新。
希望有帮助。
在 Blend SDK 中有一个ChangePropertyAction可用。
本教程可能会有所帮助(本教程以 Silverlight 为目标,但在 WPF 中也是如此)
请注意,您不需要 Blend 来使用此操作;您也可以在 Visual Studio 中使用它,但您必须手动输入代码。