Я пишу приложение для WPF и пытаюсь найти наилучший подход к связыванию, но придумываю только «взломанные» решения, и я надеюсь, что есть лучший способ.
У меня есть объект Border (который происходит от FrameworkElement) внутри Grid. Размер границы может измениться из-за изменения текста дочернего TextBlock. Положение границы может измениться, потому что другие элементы в сетке могут переставить ячейку, в которой живет граница.
Я хочу нарисовать линию от нижнего левого угла экрана до точного центра объекта границы. Конечная точка линии, которая находится в точном центре границы, должна всегда оставаться в центре независимо от того, какой размер границы или положение на экране.
Как мне это сделать?
Моя идея заключается в том, что привязка к свойству зависимости кажется идеальным способом справиться с этим. Я мог бы использовать IValueConverter для объекта Binding, чтобы вычислить точный центр, учитывая его ActualWidth, ActualHeight и TranslatePoint (), чтобы найти верхний левый угол. Однако я не могу понять, какое свойство зависимости, с которым я должен связать, предупредит меня, когда Граница изменит размер и / или положение.