Как ущипнуть в WPF - PullRequest
       9

Как ущипнуть в WPF

3 голосов
/ 02 февраля 2011

Я пытаюсь справиться с мультитач.Итак, я пытаюсь отделить поведение от прикосновений.Предположим, что человек хочет увеличить свою картинку, ему нужно ущипнуть, чтобы увеличить ее.Однако два пальца, у которых две точки касания находятся на таком расстоянии, не позволят увеличить изображение, как показано на рисунке ниже: enter image description here

Как мне это разделить.Есть ли какая-нибудь функция для этого?

С уважением, C.Porawat

1 Ответ

0 голосов
/ 02 февраля 2011

Речь идет о различении манипуляции масштабирования одноручным и двуручным или о наложении определенных минимальных / максимальных коэффициентов масштабирования для манипулируемых объектов?

В первом случае это (надежно) невозможно. Насколько мне известно, контакты не несут идентифицируемой информации, которая позволила бы вам отличать пальцы одной руки от пальцев другой руки. Как заметил Коди, это НЕ желательно для масштабирования жестов.

Однако я полагаю, что вы действительно пытаетесь добиться того, чтобы пользователь не масштабировал объект до экстремальных размеров. Поскольку полученное вами событие ManipulationDelta (в вашем случае предпочтительнее необработанных событий касания, поскольку вам придется самостоятельно получать матрицу / масштабный коэффициент инкрементного преобразования) предоставляет свойство DeltaManipulation.Scale, вы должны иметь возможность проверить и текущий коэффициент масштабирования манипулируемого объекта (как определено величиной вектора строки матрицы преобразования вашего объекта; не забывайте в верхней части головы, если есть удобная функция, чтобы получить его для вас?), чтобы наложить минимум / максимальные коэффициенты масштабирования.

Возможно даже, что какой-нибудь процессор манипуляции или UIElement имеет соответствующие предустановленные для вас границы.

...