问题:
对象引用未设置为对象的实例(第二次单击 GridView 中的项目后)。
这个对象以某种方式引用了 UoMCollection.Clear() 和这里遇到的问题:txtBlkUoM.Text = Uom.UoM.ToString();
-1-- 在页面中声明这个
ObservableCollection UoMCollection = new ObservableCollection();
-2-- Gridview : 单击 GridView 中的一个项目,它将执行以下操作:
PopUpItem.IsOpen = true; (这是弹出框)
GetAllUoMForThisItem(No);
-2-- 这将填满另一个 ListBox 调用:lsBoxUoM
私人异步无效GetAllUoMForThisItem(字符串否)
{
var db = new SQLiteAsyncConnection(DBPath);
(每次在 GridView 中选择一个项目时,我都需要清除内容)
UoMCollection.Clear();
var allUoM = await db.QueryAsync("Select * From ItemUoM Where ItemNo = '" + No + "'");
foreach (var _UoM in allUoM)
{
字符串 strUoM = _UoM.UoM;
AddToList(strUoM);
}
lsBoxUoM.ItemsSource = null;
lsBoxUoM.ItemsSource = UoMCollection;
}
私人无效AddToList(字符串uom)
{
UoMCollection.Add(新项目UoM()
{
计量单位 = 计量单位
});
}
-3-- 在此 PopUpBox 中进行选择
私人无效 lsBoxUoM_SelectionChanged(对象发送者,SelectionChangedEventArgs e)
{
if(lsBoxUoM.SelectedIndex == -1);
var Uom = (ItemUoM)lsBoxUoM.SelectedItem;
txtBlkUoM.Text = Uom.UoM.ToString();
}
-4- 选择后关闭此 PopBox 并再次从 (2) 开始