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



我需要通过Grid.Column值设置背景属性。我的想法是像这样的简单数据触发器

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