2014-01-20 3 views
3

Как я могу перемещать и изменять размер прямоугольника внутри холста горизонтально в окнах 8. Я пытаюсь создать в своем приложении масштаб, подобный элементу управления. Он будет работать, как я могу изменить размер прямоугольника по горизонтали, а также можно перемещать прямоугольник внутри холста. Основываясь на позиции прямоугольника, я рассчитываю значение шкалы. Но когда я пытаюсь сделать то же самое, я застрял в изменении размера прямоугольника (перетащите на левую и правую стороны прямоугольника, чтобы развернуть). Пожалуйста, помогите мне развить то же самое. Не нужно предпринимать усилий для создания образца для меня. Просто направляй меня, я сделаю все остальное.Перемещение и изменение размера прямоугольника внутри холста В Windows 8

+0

Вы пробовали просто устанавливать позиции и размеры? http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.canvas.setleft без каких-либо подробностей, трудно понять, где у вас проблемы. – WiredPrairie

+1

Моей главной проблемой является определение размера прямоугольника. Я думаю, что не имеет никакого отношения к Canvas.Left и Right .. :(- – user3064847

ответ

1

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

Я бы подумал, что вы хотите использовать жест шкалы для изменения размера и жест переворота для движения. Раньше я использовал UIElement.ManipulationMode с обработчиками для соответствующих событий манипуляции (например, ManipulationStarted, ManipulationCompleted и т. Д.). Я также видел некоторые упоминания об использовании GestureRecognizer, но не использовал его непосредственно непосредственно.

После того, как вы выполнили любое действие (перетаскивание или изменение размера), которым управляет отдельный жест, вы должны просто обновить размер прямоугольника, либо изменив его значения высоты и ширины, либо используя ScaleTransform.

Смежные вопросы