我如何使用网格.属性作为multidatattrigger条件的数据绑定路径

本文关键字:条件 multidatattrigger 数据绑定 路径 何使用 网格 属性 | 更新日期: 2023-09-27 18:15:23

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

如果我在代码后面定义的IsNormal属性为false,并且TextBox位于Grid的第二行,则它的IsEnabled应该为false。

然而,关于网格的条件。行不能正常工作。

你能告诉我如何使用网格吗?行属性作为绑定路径在这种情况下?

<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>

我如何使用网格.属性作为multidatattrigger条件的数据绑定路径

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

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

(OwnerClass.AttachedProperty)表示OwnerClassAttachedProperty的路径