Масштабирование диаграмм Silverlight Toolkit? - PullRequest
3 голосов
/ 19 ноября 2010

Мне нужно включить масштабирование диаграмм Silverlight, которые я использую - на данный момент это Silverlight Toolkit. Насколько я понял, диаграммы SL Toolkit не поддерживают масштабирование, однако я смотрю на реализацию этой функциональности. До сих пор мне не удалось продвинуться далеко: применение ScaleTransforms к элементам Series не работает должным образом.

Может ли кто-нибудь предоставить мне пример кода для реализации масштабирования в Silverlight Toolkit?

Ответы [ 3 ]

6 голосов
/ 22 ноября 2010

Ранее я рассматривал реализацию масштабирования на диаграммах набора инструментов Silverlight, однако потерпел неудачу из-за (вероятно) следующих причин:

  • Диаграммы набора инструментов Silverlight , похоже, не былипредназначен для возможности увеличения для увеличения .Нет никаких ловушек, на которые вы могли бы легко напасть на некоторую логику масштабирования, если вы хотите создать масштабирование на них, вы должны пойти намного дальше.
  • Самый простой способ реализации масштабирования - использовать ScaleTransform и RenderTransform для элементов.В случае Silverlight Toolkit вы хотите применить это к серии.Однако просто вычислить правильный ScaleTransform и OffsetTransform сложно достаточно
  • При масштабировании вы не хотите, чтобы все масштабировалось .Если вы увеличиваете в 4 раза ряд линий с точками на нем, вы не хотите, чтобы линия была в 4 раза толще, а точки - в 4 раза больше.Это означает, что даже если вы правильно применили применение ScaleTransforms и RenderTransforms, все, что вы получите, - это увеличительное стекло, которое все еще далеко от идеала.

Через несколько часов я перестал добавлять этовид поддержки диаграмм инструментария SL и вместо этого искал другие компоненты, которые поддерживают масштабирование и имеют достойный API для решения этой проблемы.Вот компоненты, которые я нашел (хотя я уверен, что есть и другие):

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

0 голосов
/ 29 декабря 2011

Добавление к Gergely Orozy комментария о Telerik:

Вы можете легко добавить функциональность Zoom с помощью следующего XAML.

<charting:ChartArea.ZoomScrollSettingsX>
    <charting:ZoomScrollSettings ScrollMode="ScrollAndZoom" MinZoomRange="0.005"/>
</charting:ChartArea.ZoomScrollSettingsX>

Вы можете ознакомиться с demo , нажав здесь, и исходный код также доступен на той же вкладке.

0 голосов
/ 31 августа 2011

Вам стоит взглянуть на сообщение пользователя user610173 . В частности, загрузите полный пример кода здесь: http://slchartzoomandpan.codeplex.com/SourceControl/list/changesets Очень полезно!

...