【发布时间】:2014-07-28 13:52:16
【问题描述】:
在一个表单上,我有一个标签和一个编辑按钮。单击编辑按钮时,标签的控件模板将更改为显示文本框和保存按钮。该保存按钮与视图模型上的保存命令相关联。
我的问题/问题是,当单击“保存”按钮时,我希望它在视图模型上执行命令之前或之后将控件模板更改回标签。在我的特殊情况下,除了正在执行的命令之外,只要单击“保存”按钮,它需要做的就是将我的标签上的一个属性设置为 True。
conv:ReadOnlyControlTemplate.DoLock="True"
更新 多亏了下面答案中的一些反馈,我现在离我更近了。我使用以下保存按钮:
<i:Interaction.Triggers>
<ei:DataTrigger Comparison="Equal" Binding="{Binding Test, Converter={StaticResource TestConverter}, NotifyOnTargetUpdated=True, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" Value="CommandUpdated" >
<ei:ChangePropertyAction PropertyName="conv:ReadOnlyControlTemplate.DoLock" Value="True" TargetObject="{Binding ElementName=ShiftManagerMessages}" />
</ei:DataTrigger>
</i:Interaction.Triggers>
从 ei:ChangePropertyAction 的 TargetName 更改为 TargetObject 导致它正确地看到标签。但是现在我收到以下错误:
{"在类型 \"Label\" 上找不到名为 \"conv:ReadOnlyControlTemplate.DoLock\" 的属性。"}
我可以将它指向其他属性,但不是这个,我不明白为什么?
【问题讨论】:
-
我无法指向该属性,因为它是附加属性。