Код: Выделить всё
< /code>
В коде у меня есть этот код: < /p>
public PickerControlView(IEnumerable itemSource, DataTemplate itemTemplate,
double pickerControlHeight = 200, string title = "")
{
InitializeComponent();
clPickerView.ItemsSource = itemSource;
clPickerView.ItemTemplate = itemTemplate;
grv.HeightRequest = pickerControlHeight;
if (!string.IsNullOrEmpty(title))
labelTitle.Text = title;
}
private async void clPickerView_SelectionChanged(object sender,
SelectionChangedEventArgs e)
{
var currentItem = e.CurrentSelection.FirstOrDefault();
await CloseAsync(currentItem);
}
Код: Выделить всё
var pickerControlView = new MyPopupView(controls.ItemSource, controls.ItemTemplate,
controls.PickerHeightRequest, controls.Placeholder);
var response = await Application.Current.MainPage.ShowPopupAsync(pickerControlView,
new CancellationToken());
Код: Выделить всё
var response = await Application.Current.MainPage.ShowPopupAsync(pickerControlView,
PopupOptions.Empty, CancellationToken.None);
if (response != null)
controls.SelectedItem = response;
Код: Выделить всё
IPopupResult response = (IPopupResult)await
Application.Current.MainPage.ShowPopupAsync(new LanguagePicker(),
PopupOptions.Empty, CancellationToken.None);
< /code>
Поскольку это общее представление, я не знаю, какой тип данных я передаю и получаю обратно. Я попытался реализовать всплывающее окно
Итак, я определяю всплывающее окно как:
Код: Выделить всё
public partial class PickerControlView : Popup
< /code>
и в xaml < /p>
После строки
Код: Выделить всё
await CloseAsync(currentItem);
< /code>
Я получаю разные проблемы, зависящие от платформы. Например, в iOS я получаю эту ошибку. < /P>
bjcruntime.objcexception: 'objective-c исключение. Имя: NSInternalinConsIstencyException Причина: попытка изменить выбор элемента в разделе вне границ (0), когда существует только 0 раздела. Просмотр коллекции: .
[img]https://i.sstatic.net/fzs0OWr6.png[/img]
< /p>
В Windows причина ошибки всегда является загадкой. Я доберусь туда, но я не знаю причину («Выберите тип слова»-это всплывающее окно).
pr Br Br Brnable-45b-8544d-02a3b4aeccd9 "/> В Android только это сообщение об ошибке < /p>
system.nullreferenceexexception: 'Справочник по объекту не установлен на экземпляр объекта. Проверьте результат из Popup
[0:] microsoft.maui.controls.xaml.diagnostics.bindingdiagnostics: Warning: 'Popupresult {wasdismissedbytingoutsideofpopup = false, result.models. 'LanguageInuse.models.wordtypevalueText'
Поскольку это общий компонент, актер все время отличается.
Подробнее здесь: https://stackoverflow.com/questions/797 ... s-an-error