Windows phone 7 列表选择器选择更改

Windows phone 7 列表选择器选择更改,windows-phone-7,windows-phone-8,windows-phone,windows-phone-8.1,Windows Phone 7,Windows Phone 8,Windows Phone,Windows Phone 8.1,我有两个列表选择器,显示项目名称和批号。批次号取决于物料名称。因此,当选择项目名称时,我想将批号绑定到第二个列表选择器。我正在为项目列表选择器'SelectionChanged'事件编写代码。这是行不通的 private void lstItem\u SelectionChanged(对象发送者,SelectionChangedEventArgs e) { 如果(lstItem.SelectedIndex!=0) { int itemId=invoice.listItems[lstItem.Se

我有两个列表选择器,显示项目名称和批号。批次号取决于物料名称。因此,当选择项目名称时,我想将批号绑定到第二个列表选择器。我正在为项目列表选择器
'SelectionChanged'
事件编写代码。这是行不通的

private void lstItem\u SelectionChanged(对象发送者,SelectionChangedEventArgs e)
{
如果(lstItem.SelectedIndex!=0)
{
int itemId=invoice.listItems[lstItem.SelectedIndex].ItemMasterID;
getBatches=invoice.BindBackesForItem(itemId);
lstBatch.ItemsSource=getBatchs;
}
}
bindbackesforitem
将返回所选项目的批号列表。此方法将正确返回批次。但是
'lstItem\u SelectionChanged'
事件调用会自动进行两次。第一次正确执行,第二次执行附加错误提交时

public observeCollection bindbatchsforItem(int-selectedItem)
{
listbacks.Clear();
var batchList=来自APPCommon.SFADB中的DailyItemStock DI
其中Convert.ToDateTime(DI.StockDate).Date==Convert.ToDateTime(APPCommon.TransactionDate).Date&&DI.ItemMasterID==selectedItem
选择新的
{
第二批
};
添加(新的BatchNumber(){BatchNo=“0”});
foreach(batchList中的变量列表)
{
添加(新的批次号()
{
BatchNo=lists.BatchNo.ToString()
});
}          
batchList=null;
返回列表批次;
}

请详细说明什么不起作用?还有
bindbackesforitem()
方法返回的是什么?好的,还有什么不起作用?
getBatches
是否按预期填充?