Как справиться с требованием добавить функцию лупы в мое приложение Silverlight? - PullRequest
1 голос
/ 16 июля 2011

Как мне справиться с требованием добавить функцию лупы в мое приложение Silverlight?

Это не так просто, как можно подумать.

Предыдущий программист сделал это и подумалВыглядело круто.

Работает, манипулируя операцией масштабирования.Это очень похоже на функцию масштабирования в браузере.

В любом случае, в моей программе требуется изменить уровень Z некоторых объектов, чтобы они отображались поверх других объектов в окне.Как мне это сделать?

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

1 Ответ

0 голосов
/ 16 июля 2011

Вы можете добиться эффекта увеличительного стекла, имея два объекта изображения.Первый объект содержит исходное изображение, второе изображение имеет преобразование масштаба и примененную к нему геометрию клипа, которая имитирует увеличительное стекло.Затем, когда мышь движется, вам нужно управлять геометрией клипа, левой и правой координатами вашего изображения.Вот некоторый код XAML, который показывает эффект, о котором я говорю

<Image Width="640" Height="480" Source="myImage.PNG"/>

  <Image Canvas.Left="-500" Canvas.Top="-380" Width="640" Height="480" Source="myImage.PNG">
    <Image.RenderTransform>
      <ScaleTransform ScaleX="3" ScaleY="3"/>
    </Image.RenderTransform>
    <Image.Clip>
      <EllipseGeometry RadiusX="40" RadiusY="40" Center="320, 240"/>
    </Image.Clip>
  </Image> 

Также, если этого недостаточно, вот учебник о том, как сделать эффект лупы.И вот еще один учебник .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...