private void ShowPickerControl(PickerViewModel vm) { PickerWindow window = new PickerWindow(vm); ManageWindowLocation(window); bool?accepted = window.ShowDialog(); if (accepted == false) { vm.SelectedItem = null; } vm.DisposeOverlays(); }
public async Task <IPickableItem> PickSingle() { if (_candidateList.Count == 0) { return(null); } if (_candidateList.Count == 1) { return(_candidateList.First()); } await QueuedTask.Run(() => { _viewModel = new PickerViewModel(_candidateList, true); }); RunOnUIThread(() => { ShowPickerControl(_viewModel); }); _viewModel.DisposeOverlays(); return(_viewModel.SelectedItem ?? null); }