Windows phone 7 数据绑定列表框的问题

Windows phone 7 数据绑定列表框的问题,windows-phone-7,xaml,data-binding,Windows Phone 7,Xaml,Data Binding,突然之间,我遇到了以前没有的listbox绑定问题 我有一个ViewModel,其中有两个可观察的集合,其中包含一些数据。两个列表都已正确填充 在MainPage()构造函数中 DataContext = App.ViewModel; InitializeComponent(); ViewModel中的列表: public ObservableCollection<Saloon> Saloons { get { return ... } set { ... } } public O

突然之间,我遇到了以前没有的listbox绑定问题

我有一个ViewModel,其中有两个可观察的集合,其中包含一些数据。两个列表都已正确填充

在MainPage()构造函数中

DataContext = App.ViewModel;
InitializeComponent();
ViewModel中的列表:

public ObservableCollection<Saloon> Saloons { get { return ... } set { ... } }
public ObservableCollection<TTSaloon> TTList { get { return ... } set { ... } }
public observetecollection Saloons{get{return…}set{…}
公共ObservableCollection TTList{get{return…}set{…}
我正在将第一个列表绑定到地图控件,并且能够将图钉绑定到列表中的“Location”属性

<my:Map DataContext="{Binding Saloons}"....> 
<my:Pushpin Location="{Binding Location}"/>...</my:Map>

...
以上方法很好。但我也有一个列表框,它应该绑定到其他集合(TTList),如下所示:

<ListBox ItemsSource="{Binding TTList}" DataContext="{Binding}" Name="listBox1">
                  <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Orientation="Vertical">
                                <TextBlock Text="{Binding Path=CustomerName}" Foreground="White" />
                             </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>

但这根本不起作用。我试过很多不同的东西:

  • 在代码隐藏中设置ItemSource

  • 从列表框中删除DataContext

  • 已将绑定路径更改为Listname.Property

  • 将元素上的DataContext设置为代码隐藏中的特定列表

  • 在InitializeComponent()之后设置DataContext

我没有主意了,我在这里遗漏了什么,调试器也没有警告我。 字段“CustomerName”确实存在并打印到控制台


编辑:这是一个pivot应用程序,如果可能有影响,列表框位于pivotitem 2中。

Yout foregound设置为白色。也许您只是因为白色背景上的白色字母而看不到项目?

当ObservableCollection“设置”一个值时,您是否正在提高OnPropertyChanged


(ObservableCollection仅在执行“添加”、“删除”或“清除”操作时自行引发更改”)

呵呵,我曾经犯过这个错误,但现在背景是黑色的。如何填充TTList?它是从Web服务填充的,一个序列化到类的json响应。这两个列表是从不同的来源以相同的方式填充的。我是否需要在收到数据并填充列表后设置DataContext?当我绑定图钉时,客户名称必须是公共财产,但这不是必需的,是这样吗?是的。试图将listbox绑定到Saloon列表(图钉绑定到该列表时没有任何问题),但也没有成功。现在我更糊涂了。Saloon列表被接受为映射的datacontext,而不是listbox的itemsource。是的,但是这里还发生了其他事情。当我将用于填充集合和集合本身的方法移动到MainPage.cs文件时,如果我在OpenReadComplete时设置ItemSource,它就会工作。奇怪的是,我无法将沙龙列表(已经绑定到地图)绑定到列表框。