Windows phone 7 数据绑定列表框的问题
突然之间,我遇到了以前没有的listbox绑定问题 我有一个ViewModel,其中有两个可观察的集合,其中包含一些数据。两个列表都已正确填充 在MainPage()构造函数中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
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
编辑:这是一个pivot应用程序,如果可能有影响,列表框位于pivotitem 2中。Yout foregound设置为白色。也许您只是因为白色背景上的白色字母而看不到项目?当ObservableCollection“设置”一个值时,您是否正在提高OnPropertyChanged
(ObservableCollection仅在执行“添加”、“删除”或“清除”操作时自行引发更改”)呵呵,我曾经犯过这个错误,但现在背景是黑色的。如何填充TTList?它是从Web服务填充的,一个序列化到类的json响应。这两个列表是从不同的来源以相同的方式填充的。我是否需要在收到数据并填充列表后设置DataContext?当我绑定图钉时,客户名称必须是公共财产,但这不是必需的,是这样吗?是的。试图将listbox绑定到Saloon列表(图钉绑定到该列表时没有任何问题),但也没有成功。现在我更糊涂了。Saloon列表被接受为映射的datacontext,而不是listbox的itemsource。是的,但是这里还发生了其他事情。当我将用于填充集合和集合本身的方法移动到MainPage.cs文件时,如果我在OpenReadComplete时设置ItemSource,它就会工作。奇怪的是,我无法将沙龙列表(已经绑定到地图)绑定到列表框。