Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 我可以在xaml中设置元素属性吗?_Wpf_Xaml - Fatal编程技术网

Wpf 我可以在xaml中设置元素属性吗?

Wpf 我可以在xaml中设置元素属性吗?,wpf,xaml,Wpf,Xaml,例如,我有一个TextBox的ContextMenu,当用户单击ContextMenu中的菜单项时,我想将TextBox的Text属性设置为某个值 这有可能吗?如果您特别询问是否可以在XAML中完成这一切,那么您就不能。允许命令和UI交互更新视图的其余部分依赖(绑定到)其值的ViewModel是正确的方法 看不到代码:如果TextBox的Text属性已经绑定到某种类型的ViewModel(我只能猜测是这样),那么绑定/设置该属性,使其成为上下文菜单中所选菜单项的所需结果。假设您的绑定正确,则文本

例如,我有一个TextBox的ContextMenu,当用户单击ContextMenu中的菜单项时,我想将TextBox的Text属性设置为某个值


这有可能吗?

如果您特别询问是否可以在XAML中完成这一切,那么您就不能。允许命令和UI交互更新视图的其余部分依赖(绑定到)其值的ViewModel是正确的方法

看不到代码:如果TextBox的Text属性已经绑定到某种类型的ViewModel(我只能猜测是这样),那么绑定/设置该属性,使其成为
上下文菜单中所选
菜单项的所需结果。假设您的
绑定
正确,则文本框的值应相应更新


希望有帮助。

在Blend SDK中有一个可用的

可能有帮助(本教程针对Silverlight,但在WPF中也是如此)


请注意,使用此操作不需要混合;您也可以在Visual Studio中使用它,但您必须手动键入代码。

您看过中的示例吗?我看不出与我的问题之间的联系?我不确定您的知识水平以及您是否希望在没有任何代码的情况下执行此操作。您好,Phix,这与ViewModel及其UI特定操作无关。我用了一个文本框作为例子。更合适的例子是使用带有Rename MenuItem的ContextMenu,单击时,TreeView节点应处于编辑模式(重命名它)。这与业务逻辑和虚拟机无关。使用代码隐藏非常容易,我只是好奇它是否也可以在xaml中完成,而且似乎ChangePropertyAction可能是解决方案啊,我假设一个ViewModel是基于这样一个事实,即您正在更改您的假设中文本框的值。您必须让我知道ChangePropertyAction是如何为您工作的。它与MS控件一起工作,但与Telerik控件有问题,这可能无法解决。Telerik控件不应该有任何限制。它们遵循的规则与WPF框架的其他部分相同,只是对其进行了扩展。如果不为您创建一个示例,请向我发送一些源代码,我将帮助您完成它。Telerik support告诉我,他们的控件不支持它。如果你认为你可以做得更好,试试这个:有一个radtreeview控件并为它设置一个RadContextMenu。然后,单击菜单时,设置treeview的背景属性。所有这些都是在xaml中实现的,而不是代码隐藏