关闭

在Windows Phone 7上使用Silverlight Toolkit Chart时遇到的错误

标签: silverlightwindows phonemicrosoftblendbindingshell
612人阅读 评论(0) 收藏 举报
分类:



最近在Windows Phone 7上使用Chart Control的时候遇到了一个小问题,因此利用这篇文章来分享一下解决的方式。 要在WP7上做图表的话,因为内建并没有图表控制项,而且Silverlight for Windows Phone Toolkit也没有,所以我这裡使用的是Silverlight 3 Toolkit中的Chart控制项,使用Silverlight 3 Toolkit是因为Silverlight f
  

  最近在Windows Phone 7上使用Chart Control的时候遇到了一个小问题,因此利用这篇文章来分享一下解决的方式。 要在WP7上做图表的话,因为内建并没有图表控制项,而且Silverlight for Windows Phone Toolkit也没有,所以我这裡使用的是Silverlight 3 Toolkit中的Chart控制项,使用Silverlight 3 Toolkit是因为Silverlight for Windows Phone是以Silverlight 3为基础。

  首先在专案中先引用System.Windows.Controls.DataVisualization.Toolkit,预设的位置在C:\Program Files\Microsoft SDKs\Silverlight\v3.0\Toolkit\Nov09\Bin目录底下

  

image

 

  接着切换到BLEND中到工具箱找到Chart控制项后在介面上画出

  

image

 

  介面的XAML如下:

<phone:PhoneApplicationPage
    xmlns=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x=
"http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone=
"clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell=
"clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d=
"http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:chartingToolkit=
"clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit" 
    x:Class=
"ChartSample.MainPage"
    mc:Ignorable=
"d" d:DesignWidth="480" d:DesignHeight="768"
    FontFamily=
"{StaticResource PhoneFontFamilyNormal}"
    FontSize=
"{StaticResource PhoneFontSizeNormal}"
    Foreground=
"{StaticResource PhoneForegroundBrush}"
    SupportedOrientations=
"Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible=
"True">

    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="PageTitle" Text="Chart" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
          <chartingToolkit:Chart Margin="21,24,20,35" Title="Chart Title">
            <chartingToolkit:Chart.DataContext>
              <PointCollection>
                <Point>1,10</Point>
                <Point>2,20</Point>
                <Point>3,30</Point>
                <Point>4,40</Point>
              </PointCollection>
            </chartingToolkit:Chart.DataContext>
            <chartingToolkit:ColumnSeries DependentValuePath="X" IndependentValuePath="Y" ItemsSource="{Binding}"/>
          </chartingToolkit:Chart>
        </Grid>
    </Grid>
</phone:PhoneApplicationPage>

 

  再切换回VS2010来执行,但是执行时就会跳出下面这个 AG_E_PARSER_BAD_TYPE 错误而无法继续执行页面

  

image

 

  解决的方式是需要在专案中再引用一个System.Windows.Controls,预设位置在C:\Program Files\Microsoft SDKs\Silverlight\v3.0\Libraries\Client目录底下

  

image

 

  这时再执行一次就不会发生错误可以正确显示出图表了

  

image

  本文来自eternaltung的博客,原文地址:http://www.dotblogs.com.tw/eternaltung/archive/2011/03/25/wp7silverlighttoolkitchart.as

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1273893次
    • 积分:16430
    • 等级:
    • 排名:第627名
    • 原创:372篇
    • 转载:805篇
    • 译文:0篇
    • 评论:95条
    最新评论