我想为TextBox设置一个MultiDataTrigger,如下面的代码所示。
如果我在代码隐藏中定义的IsNormal属性为false且TextBox位于Grid的第2行,则它的IsEnabled应为false。
但是,关于Grid.Row的条件无法正常工作。
你能告诉我在这种情况下如何使用Grid.Row属性作为绑定路径吗?
<Style TargetType="TextBox">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}, Path=IsNormal}"
Value="False"/>
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=Grid.Row}"
Value="2"/>
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="False"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>
答案 0 :(得分:2)
Grid.Row
是一个附加属性,所以它应该是这样的:
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=(Grid.Row)}"
Value="2"/>
使用(OwnerClass.AttachedProperty)
表示AttachedProperty
的{{1}}的路径。