【问题标题】:WinRT XAML toolkit Line series not working on Windows Phone 8.1WinRT XAML 工具包 Line 系列不适用于 Windows Phone 8.1
【发布时间】:2014-11-07 02:23:00
【问题描述】:

我想使用适用于 Windows Phone 8.1 的 WinRT XAML 工具包显示 Line Series 我有以下代码,但屏幕上没有显示任何内容:(我正在使用 MVVM Light 来实现 MVVM) 网站.xaml

    <Grid Grid.Row="0" Background="Black" Margin="20,20,10,10">
        <charting:LineSeries x:Name="LineSeries" Height="250" Width="320" ItemsSource={Binding DataPoints} IndependentValueBinding="{Binding X}" DependentValueBinding="{Binding Y}">

        </charting:LineSeries>
    </Grid>

在我对应的视图模型中

    public class WebsiteViewModel:ViewModelBase
    {
          private List<DataPoint> _datapoints;
          public List<DataPoint> DataPoints
          {
               get
               {
                  return _datapoints;
               }
               set
               {
                    if(_datapoints!=value)
                    {
                           _datapoints=value;
                           RaisePropertyChanged("DataPoints");
                    }
               }
         }

        public WebsiteViewModel()
        {
                if(IsInDesignMode)
                {
                        DataPoint p1=new DataPoint(){X="ABC",Y=21.23};
                        DataPoint p2=new DataPoint(){X="XYZ",Y=34.56};
                        DataPoints=new List<DataPoint>();
                        DataPoints.Add(p1);
                        DataPoints.Add(p2);
               }
        }
    }

DataPoint 类定义如下:

  public class DataPoint:ObservableObject
 {
    private string _x;
    public string X
    {
        get
        {
            return _x;
        }
        set
        {
            if(_x!=value)
            {
                _x = value;
                RaisePropertyChanged("X");
            }
        }
    }

    private double _y;

    public double Y
    {
        get
        {
            return _y;
        }
        set
        {
            if(_y!=value)
            {
                _y = value;
                RaisePropertyChanged("Y");
            }
        }
    }

}

但我在设计时看不到任何数据。我已经使用 ViewModelLocator 属性在 XAML 中设置了 DataContext。我的代码有问题吗? WinRTXAML 工具包是否真的适用于 WP 8.1?如果没有,任何人都可以向我指出 WP 8.1 的任何其他开源图表库吗?我查过 Sparrow,但它只兼容 WP8。

【问题讨论】:

  • 它在运行时工作吗?这些控件不支持设计时,并且它们中的大多数可能在设计视图中表现不佳。
  • 感谢您的信息。我设法让它在运行时从代码隐藏中工作。在 XAML 中绑定它仍然有问题。是否需要在 XAML 中指定 IndependentValueBinding 属性或 IndependentValuePath 属性?
  • 抱歉,我得自己调试一下。

标签: charts windows-phone-8.1 mvvm-light winrt-xaml-toolkit


【解决方案1】:

我有这个博客 它非常适合我的 windowsRT phone 8.1 XAML http://eren.ws/2013/10/15/using-graphs-and-charts-in-windows-store-apps-boredom-challenge-day-11/ 你的 xml 应该是:

xmlns:charting="using:WinRTXamlToolkit.Controls.DataVisualization.Charting"
xmlns:Series="using:WinRTXamlToolkit.Controls.DataVisualization.Charting"
xmlns:datavis="using:WinRTXamlToolkit.Controls.DataVisualization"

<Grid Grid.Row="0" Background="Black" Margin="20,20,10,10">
    <charting:Chart x:Name="LineSeries">
                <charting:Chart.Series>
                    <Series:LineSeries IndependentValuePath="{Binding X}" DependentValuePath="{Binding Y}">

                    </Series:LineSeries>
                </charting:Chart.Series>
            </charting:Chart>
</Grid>

代码内部

using WinRTXamlToolkit.Controls.DataVisualization.Charting;
//something like this, your listdata
(LineSeries.Series[0] as LineSeries).ItemsSource = DataPoints; 

它仍然有问题,在我的情况下,图表在调试时显示,但包含图表的页面在我发布后无法导航,

等我弄清楚后我会更新我的答案,或者你也可以关注这个话题:http://goo.gl/GyCSxg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2014-12-08
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多