У меня есть адаптивный макет с родительским элементом управления и дочерними элементами управления, что-то вроде:
Мне нужно, чтобы один из дочерних элементов (Child1 на изображении) не был частью макета, а располагался относительно контейнера. Изменение макета — сложная задача, и это устаревшее приложение, я ищу простое решение с минимальными изменениями.
Вот что мне нужно:
Мне удалось реализовать следующее:
Это работает, но проблема в том, что, поскольку макет адаптивный, он перемещается в неправильное место при изменении размера. Я могу задать его положение с помощью таймера, но это плохое решение по нескольким причинам, плохо для производительности и не выглядит хорошо. Но я попробовал, и это самое близкое, что я мог получить к тому, что я хочу.
Как мне исправить положение Child1, чтобы оно было относительно Container? Может быть, я могу как-то это привязать?
В общем, я ищу это: Позиция абсолютная, но относительная к родителю, но для UWP/XAML вместо HTML/CSS.
void PositionRelativeToParent(FrameworkElement element, FrameworkElement parentElement) {
auto pt = element.TransformToVisual(parentElement).TransformPoint(Point{0, 0});
TranslateTransform transform;
transform.X(-pt.X);
element.RenderTransform(transform);
}