我有一个带有函数的c#表单,它在sql数据库中搜索一个项目,然后在另一个窗口中弹出一个可能的结果列表。我想等到用户选择一行,然后返回该结果。一切都按预期工作,但我无法想出一个有效的方法来等待循环,直到选中该项目。有什么想法吗?
显示窗口的功能:
// Some sql crap to fill a dataset...//
Da.Fill(Items, "Items");
Connection.Close();
var ItemSearch = new Window1(); // Load new window with a datagrid
ItemSearch.Show();
ItemSearch.dataGrid1.ItemsSource = Items.Tables["Items"].DefaultView;
ItemSearch.dataGrid1.SelectionMode = DataGridSelectionMode.Single;
ItemSearch.dataGrid1.SelectionUnit = DataGridSelectionUnit.FullRow;
while (ItemSearch.dataGrid1.SelectedItem != null)
{
// Do something until the user selects a row, then return that row
Thread.Sleep(100); // Doesn't work... Locks whole screen
}
}
return ItemCode; // Selected row