Элементы управления диаграммами и графикой Windows Phone 7

Мы работаем над прототипом Windows Phone 7, и нам нужен элемент управления Graphing/Charting. Мы посмотрели на Silverlight Toolkit, в котором есть некоторые элементы управления, которые выглядят так, как будто они будут работать отлично. Однако мы не можем заставить это работать. Всякий раз, когда мы добавляем элемент управления XAML из этого инструментария, он генерирует исключение при попытке загрузить XAML во время выполнения, даже если он работает в дизайнере. Я думаю, что это потому, что есть некоторые зависимости, которые телефон фактически не поддерживает.

Кто-нибудь знает, как исправить проблему или узнать о программном обеспечении для создания диаграмм, которое работает на Windows Phone 7?

Вот пример кода, который не работает. Мы загрузили и установили 4.0 бета Silverlight Toolkit. Добавлена ​​DLL в качестве ссылки. Добавлено это для импорта пространства имен:

xmlns:c="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"`

затем добавил это, чтобы составить диаграмму:

<c:Chart>
    <c:PieSeries>
        <c:PieSeries.ItemsSource>
            <l:IntList>
                <sys:Int32>23</sys:Int32>
                <sys:Int32>2</sys:Int32>
                <sys:Int32>1</sys:Int32>
                <sys:Int32>34</sys:Int32>
            </l:IntList>
        </c:PieSeries.ItemsSource>
    </c:PieSeries>
</c:Chart>

дизайнер прекрасно показывает пирог, однако, когда я пытаюсь скомпилировать и развернуть его, выдается исключение, в котором говорится, что он не может найти MainPage.xaml. Это заставляет меня думать, что MainPage.xaml не компилируется правильно (не уверен, поскольку я все еще новичок в Silverlight)

Здесь исключение:

System.Windows.Markup.XamlParseException occurred
  Message=2255 An error has occurred. [Line: 36 Position: 2]
  LineNumber=36
  LinePosition=2
  StackTrace:
     ...

в этой строке:

System.Windows.Application.LoadComponent(this, new System.Uri("/Twitpic;component/MainPage.xaml", System.UriKind.Relative));

Ответы

Ответ 2

Возможно, вы можете повторно использовать некоторые вещи, предоставляемые набором инструментов silverlight, который является открытым исходным кодом:
http://silverlight.codeplex.com/Wikipage

Возможно, вам придется перекомпилировать некоторые вещи против API-интерфейсов win phone, но он должен работать: -)

Ответ 4

Если вы ищете отличную графику на WP7, я предлагаю Visifire. Обратите внимание, что это коммерческое предложение. Поддерживает жест! Я видел очень мало разработчиков схем, которые оптимизировали графику для мобильного форм-фактора, как это делают ребята.

Вы можете попробовать MS Toolkit, если вы ищете бесплатные базовые диаграммы.

Ответ 5

Играя больше, я действительно смог получить Visifire для работы. Просто нужно было просмотреть и добавить ссылку на System.Windows.Browser. Я не знаю, является ли это лучшим способом заставить его работать. Но это будет сделано до тех пор, пока Silverlight Toolkit не будет обновлен.

Ответ 7

Несколько вариантов стоит посмотреть.

Блог Дэвида Ансона и публикация сообщений о графике.

Контроль диаграммы для телефона

Почему я не подумал об этом в первую очередь? [Пример кода Windows Phone 7, обновленный для включения многоразового, совместимого с платформой стиля и шаблонов] - Блог Delay

И коммерческое предложение.

Элементы управления цветом Silverlight, WPF и WP7

Ответ 8

Просто быстрый плагин для моего собственного управления графами, который я недавно выпустил в открытый исходный код:

Проверьте это, он масштабируется до сотен тысяч точек и реагирует на щепотку, масштабирование, трансляцию и нажатие жестов:

http://touchgraphwp7.codeplex.com/