如何使用 Grid.Row 属性 作为 MultiDataTrigger 条件的数据绑定路径?

How can I use Grid.Row Property as a DataBinding Path for a MultiDataTrigger Condition?

我想为 TextBox 设置一个 MultiDataTrigger,如下面的代码所示。

如果我在代码隐藏中定义的 IsNormal 属性 为 false,并且 TextBox 位于 Grid 的第二行,则它的 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>

Grid.Row是附加的属性,所以应该是这样的:

<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=(Grid.Row)}"
                       Value="2"/>

使用 (OwnerClass.AttachedProperty) 指示 OwnerClassAttachedProperty 的路径。