Привязать attached-свойство объекта к dependency-свойству другого объекта

Рейтинг: 2Ответов: 1Опубликовано: 12.11.2014

Запоролся с такой проблемой. У меня есть несколько элементов (X и Y) на Canvas. У элемента X есть некоторое Dependency-свойство A. Нужно привязать прикрепленное свойство Canvas.Left объекта Y к свойству A объекта X. Если выражаться в XAML, то хочется примерно следующее:

<Canvas Name="FacRepCanvas" DataContext="20">
                <Ellipse
                    Name="CustomEllipsek"
                    Width="100" 
                    Height="50"
                    Fill="Orange"
                    Canvas.Left="{Binding}">
                </Ellipse></Canvas>

Как провернуть такой трюк в коде?

Конкретнее, хотел изобразить что-то подобное:

var xBinding = new Binding
        {
            Source = Arrow, //этот объект на канве
            Path = new PropertyPath("X1")//свойство этого объекта
        };
_label.SetBinding(Canvas.LeftProperty, xBinding); //лейбл тоже на канве

Ответы

▲ 2Принят

Ваш XAML выражается на C# так:

Ellipse ell = new Ellipse()
{
    Width = 100,
    Height = 50,
    Fill = Brushes.Orange
};
ell.SetBinding(Canvas.LeftProperty, new Binding());