通过DataContext访问本地

时间:2014-06-16 21:21:44

标签: xaml windows-phone-8 data-binding

所以我刚买了同步融合包,现在我想创建一个迷你吧。

他们的文档声明我可以创建一个模型并将其作为绑定到迷你图。

这就是我所做的。我创建了一个空白页面,其中包含一个像这样的迷你图像对象:

<Charts:SfLineSparkline x:Name="yay" ItemsSource="{Binding OrderList}" YBindingPath="Number" MarkerVisibility="Visible" HorizontalAlignment="Left" Height="138" VerticalAlignment="Top" Width="456" Background="#FFFF9A9A"/>

在我的代码背后,我有一个模型“OrderViewModel”,如下所示:

public class OrderViewModel
{
    public OrderViewModel()
    {
        this.OrderList = new ObservableCollection<Order>();
        DateTime date = DateTime.Today;
        OrderList.Add(new Order { Number = 2, TimeStamp = date.AddHours(1) });
        OrderList.Add(new Order { Number = 3, TimeStamp = date.AddHours(2.3) });
        OrderList.Add(new Order { Number = 1, TimeStamp = date.AddHours(4) });
    }
    public ObservableCollection<Order> OrderList { get; set; }
}

“Order”类如下所示:

public class Order
{
    public DateTime TimeStamp { get; set; }
    public int Number { get; set; }
}

到目前为止,这不起作用。

根据他们的文档,它说我必须做一些事情,比如在上面的网格中添加数据上下文,使用我没有的本地命名空间标记。

它应该是这样的:

<Grid.DataContext>
     <local:OrderViewModel/>
</Grid.DataContext>

我意识到这可能是一个真正的noob问题,但我一直试图让它工作一段时间,而且它不会。

这是我正在努力的文件:) http://help.syncfusion.com/UG/Windows%20Phone%208/Documents/creatingsparkline.htm

1 个答案:

答案 0 :(得分:0)

MyProject替换为您的。{/ p>

  xmlns:local="using:MyProject"

或者如果另一个名称空间中的OrderViewModel

  xmlns:local="using:MyProject.ViewModels"

你应该用

添加它
  xmlns:Syncfusion="clr-namespace:Syncfusion.UI.Xaml.Charts"

另一种方式:

如果要关闭,请使用“属性”窗口,使用F4打开它,单击网格标记,然后转到DataContext属性,按新建或黄色方框选择OrderViewModel。