如何在绑定表达式中获取 Grid.Column 值

How to get a Grid.Column value in a binding expression

我需要通过 Grid.Column 值设置背景 属性。我的想法很简单,像这样的 DataTrigger

<DataTrigger Binding="{Binding Grid.Column, ElementName=MyElement}" Value="2">
        <Setter Property="Background" Value="#F2F2F2"/>
</DataTrigger>

MyElement 是一个通用 wpf 控件,例如:

<Border x:Name="MyElement" Grid.Column="2">
      Content
</Border>

但这不起作用,Visual Studio 说:Cann't resolve property Grid

我可以使用 C# Grid.GetColumn(MyElement) 作为解决方法。但我想知道,这里有 xaml 唯一的解决方案吗?

要绑定到附加的 属性,请将附加的 属性 括起来。

<DataTrigger Binding="{Binding Path=(Grid.Column), ElementName=MyElement}" Value="2">
        <Setter Property="Background" Value="#F2F2F2"/>
</DataTrigger>