Увеличение масштаба Canvas без изменения размера конкретных дочерних элементов управления

Итак, я понимаю, что здесь я выхожу за рамки предполагаемого использования Canvas и, вероятно, придется придумать более ручное решение. Однако, не будучи слишком опытным в WPF, я надеялся, что может быть какое-то решение, которое позволит мне продолжать использовать элемент управления Canvas и функции, которые он предоставляет вам бесплатно.

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

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

Я попытался изменить ширину и высоту этих дочерних элементов управления при увеличении или уменьшении коэффициента масштабирования, но есть небольшая задержка, и все это выглядит немного «отрывистым».

Если дойдет до этого, я просто сделаю все масштабирование / панорамирование / макет сам, но я подумал, что сначала попрошу просто сделать уверен, что я не упускаю ничего, что позволило бы мне сказать Canvas не масштабировать размер определенных элементов управления. Заранее спасибо.

5
задан Ed S. 15 May 2011 в 18:37
поделиться