Как следить за расположением элемента в Silverlight - PullRequest
0 голосов
/ 28 июля 2010

Я новичок в программировании Silverlight, и DependencyProperty все еще относительно нов для меня, что вызывает следующую проблему:

Я хотел бы присоединиться к событию, когда Canvas.LeftProperty изCanvas.TopProperty меняется для UIElement (UserControl в моем случае).

Например, я могу сделать следующее:

        source.SizeChanged += delegate
            {
                target.Width = source.Width;
                target.Height = source.Height;
            };

Но я не смогнайти подобное событие для местоположения.Это вообще возможно?

1 Ответ

1 голос
/ 28 июля 2010

Элемент обычно не знает о своем местонахождении в системе макетов WPF.Родительский элемент (в вашем случае, Canvas) отвечает за разметку элемента, а элемент просто отвечает за изменение размеров себя в соответствии с ограничениями контейнера макета. LayoutUpdated событие в элементе.Вероятно, лучше установить это на панели и использовать его в качестве триггера для повторного сканирования свойств дочерних элементов, поскольку событие LayoutUpdated (согласно документам) всегда передает нулевую ссылку на параметр отправителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...