Panorama Control不显示数据

时间:2013-05-03 08:36:38

标签: windows-phone-7 windows-phone-8 windows-phone

我正在制作一个Panorama Windows Phone 8应用程序。这是我第一次在应用程序中实际使用过它。

我在运行时显示数据时遇到问题。相反,我只看到一个列表:

RuntimeOne RuntimeTwo RuntimeThree 等。

我不知道发生了什么,前几天工作了。我将进入SampleData文件夹并更改LineOne,LineTwo,LineThree等,但是当我将应用程序部署到Windows Phone模拟器时,它没有做任何事情。

1 个答案:

答案 0 :(得分:1)

发生的事情是有两组不同的数据,运行时的DataContext与设计时间不同。

  1. 您在设计模式中看到的数据('design one','design two')是 存储在MainViewModelSampleData.cs中,因此更改不会影响 运行时体验。

  2. 运行时的数据来自LoadData方法 MainViewModel.cs

  3. MainPage.xaml的顶部,您会看到

          d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}"
    

    这里的“d”命名空间是'design'的助记符。如果您查看示例数据XAML文件,您会注意到它声明了一个名为MainViewModel的类,其集合为Items

    在运行时,MainViewModel.cs(特别是LoadData方法)将项逐个添加到Items类的MainViewModel属性中,并依次设置该类成为DataContext的构造函数中的运行时 MainPage

    全景控制本身有标记,如

                <phone:LongListSelector Margin="0,0,-22,0" ItemsSource="{Binding Items}">
    

    所以它希望在当前的DataContext上看到一个名为Items的集合,并且两个不同的数据上下文正在发挥作用,这解释了你所看到的内容。

    数据绑定魔法是非常酷和强大,但有时会让你挠头。