2010-10-27 11 views
0

Я хотел бы увеличить/уменьшить изображение, в котором происходит щелчок мыши. Изображение цели должно быть увеличено, но в текущем представлении должна отображаться часть, где был щелчок мыши, и полоса прокрутки должна быть доступна для просмотра других частей.Увеличьте масштаб при щелчке мышью Silverlight 2.0

Я попытался использовать scrollviewer и поместил в него мой контроль изображения. При щелчке мыши, используя RenderTransform и увеличивая масштаб на 1 пользовательский клик для увеличения в Zoom.Image становится увеличенным, но вид не находится там, где был щелчок мыши.

Пожалуйста, помогите!

БЛАГОДАРЯ Sai

ответ

0

Вы должны установить RenderTransformOrigin свойства на основании положения мыши.

Значения для RenderTransformOrigin оцениваются в верхнем левом углу ограничительной рамки для UIElement.

Вам нужно будет преобразовать местоположение мыши в координаты изображения, чтобы получить правильное начало координат и нормализовать значения так, чтобы они находились в диапазоне от 0 до 1, разделив положение на размеры изображения.

+0

Спасибо, Крис .. Я использовал e.getposition (отправитель) в событии mouseleftbuttondown и назначил его RenderTransformOrigin, и все идет пустым .. не знаю почему? – Sai

+0

@Sai - отлаживайте код и проверяйте значения, чтобы они были разумными. Возможно, вам придется отрицать значения (например), но я никогда не помню эти вещи, поэтому я всегда проверяю. – ChrisF

+0

Я был непосредственно проиндексирован e.getposition (отправитель) RenderTransformOrigin, который является неправильным, я должен нормализовать значение от 0 до 1, разделив позицию на размеры. После этого я получил его работу. Спасибо. – Sai