2010-04-12 49 views
15

我們正在研究Windows Phone 7原型應用程序,我們需要使用圖形/圖表控件。我們看着Silverlight Toolkit,它有一些看起來很好的控件。但是,我們無法做到這一點。每當我們從該工具包向XAML添加一個控件時,即使它在設計器中工作,它也會在運行時嘗試加載XAML時引發異常。我認爲這是因爲手機實際上不支持某些依賴關係。Windows Phone 7圖表/圖形控件

有誰知道如何解決問題或知道在Windows Phone 7上工作的圖表軟件?

下面是一個不起作用的代碼示例。我們下載並安裝了Silverlight Toolkit 4.0的4.0測試版。添加了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中沒有正確compilign(不知道,因爲我仍然在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)); 

回答

3

你或許可以重新使用一些通過Silverlight工具包,這是開源提供的東西:
http://silverlight.codeplex.com/Wikipage

您可能需要重新編譯一些針對win手機API的內容,但它應該可以正常工作:-)

+0

+1,或給一點時間,我敢肯定,該工具包的團隊將得到全面執行,對於你。 – AnthonyWJones 2010-04-13 07:25:56

+0

在發佈這個問題之前,我嘗試過使用WrapPanel,而與其他一些東西混淆。但它沒有奏效。但我會再次嘗試使用我們需要的圖表,並再次發佈,並讓您知道它是如何實現的。謝謝 – Joel 2010-04-13 17:18:34

+0

不幸的是,我無法使用Windows Phone 7 SDK編譯和運行它。也許這只是我,但我得到的印象是,不更新代碼是不可能的。 – Joel 2010-04-13 22:06:33

1

玩得更多,我實際上可以讓Visifire工作。只需瀏覽並添加對System.Windows.Browser的引用即可。我不知道這是否是使其工作的最佳方式。但是直到Silverlight工具包得到更新後纔會這樣做。

1

只爲我自己的圖形控件快速插件我最近發佈到開源:

檢查出來,它擴展到數十萬點,並響應捏,縮放,平移和輕敲姿勢:

http://touchgraphwp7.codeplex.com/

2

如果您正在尋找在WP7巨大的圖表,我建議Visifire。請注意,它是一個商業產品。也有手勢支持!我已經看到了非常少的圖表供應商,他們已經像這些人一樣優化了移動外形因素的圖表。

如果您正在尋找免費的基本圖表,您可以嘗試MS Toolkit