Расположить дочерний элемент управления относительно родительского

1
9

У меня есть адаптивный макет с родительским элементом управления и дочерними элементами управления, что-то вроде:

Image1

Мне нужно, чтобы один из дочерних элементов (Child1 на изображении) не был частью макета, а располагался относительно контейнера. Изменение макета — сложная задача, и это устаревшее приложение, я ищу простое решение с минимальными изменениями.

Вот что мне нужно:

Image2

Мне удалось реализовать следующее:

Это работает, но проблема в том, что, поскольку макет адаптивный, он перемещается в неправильное место при изменении размера. Я могу задать его положение с помощью таймера, но это плохое решение по нескольким причинам, плохо для производительности и не выглядит хорошо. Но я попробовал, и это самое близкое, что я мог получить к тому, что я хочу.

Как мне исправить положение 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);
}
Савелий
Вопрос задан19 июня 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.