I'd like to set a MultiDataTrigger for a TextBox as shown in the code below.
If IsNormal property, which I defined in the code-behind, is false and the TextBox is in the 2nd row of a Grid, IsEnabled of it should be false.
However, the Condition regarding the Grid.Row does not work properly.
Could you tell me how it is possible to use a Grid.Row property as a binding path in this case?
<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>
Grid.Row
is an attached property, so it should be like this:Use
(OwnerClass.AttachedProperty)
to indicate path toAttachedProperty
of theOwnerClass
.