【发布时间】: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