【发布时间】:2014-09-01 16:39:13
【问题描述】:
我正在尝试启用基于组合框可见性的按钮及其使用多数据触发器选择的值,但似乎不起作用。
请提供任何帮助。
<Multidatatrigger.conditions>
<Condition
Binding="{Binding ElementName=ComboName, Path=Visibility}"
Value="Visible"/>
<Condition
Binding="{Binding ElementName=ComboName, Path=SelectedValue}"
Value="{x:Null}"/>
</Multidatatrigger.conditions>
<Setter
Property = "IsEnabled",
Value = "false"/>
第一个条件似乎不起作用。即使组合框折叠,按钮也会被禁用。
我希望在组合框可见并选择一个值时启用该按钮。
【问题讨论】:
-
我觉得你应该多贴一些代码,很难说这里有什么问题,比如你把
MultiDataTrigger放在哪里,为什么你必须在这里使用一个ElementName来进行Binding,看起来就像你有超过 1 个 ComboBox 涉及.... -
我将此触发器放在我要启用的按钮中。我正在使用元素名称,因为我想根据组合框选择的值及其可见性来触发它。并且它只涉及一个组合框。
-
刚做了一个demo,看起来效果不错,最初Button是禁用的(因为SelectedValue为null),选择一个值后,Button是启用的。单击按钮将组合框的
Visibility设置为Collapsed或Hidden,并且它仍然处于启用状态(不是您所说的禁用)。 -
另外我想你打错了一些关键字(张贴在这里,但不是在你的实际代码中),这些关键字应该区分大小写,例如
Multidatatrigger应该是MultiDataTrigger。
标签: wpf xaml combobox datatrigger