Как получить значение Grid.Column в выражении привязки

Мне нужно установить свойство фона по значению 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?

1 ответ

Решение

Чтобы привязать к присоединенному свойству, заключите присоединенное свойство в круглые скобки.

<DataTrigger Binding="{Binding Path=(Grid.Column), ElementName=MyElement}" Value="2">
        <Setter Property="Background" Value="#F2F2F2"/>
</DataTrigger>
Другие вопросы по тегам