2010-04-12 86 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