SQLデータベースでアイテムを検索し、別のウィンドウに可能な結果のリストをポップする関数を備えたac#フォームがあります。ユーザーが行を選択するまで待ってから、その結果を返したいです。すべてが期待どおりに機能しますが、アイテムが選択されるまでループで待機する効率的な方法が思いつきません。何か案は?
ウィンドウを表示する関数:
// 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