.NET 9 MAUI POPUP POPUP CUSTERC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 .NET 9 MAUI POPUP POPUP CUSTER

Сообщение Anonymous »

В моем проекте .net 9 Maui я использую Popup из Toolkit сообщества . Я создал общий компонент для отображения элементов в списке на основе ItemTemplate :

Код: Выделить всё






< /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());
Этот код отлично работает с .net 8 Maui: Когда есть выбор в CollectionView , значение возвращается в Cays View .. С новой версией Toolkit сообщества 12.1.0, Popup Изменено.

Код: Выделить всё

var response = await Application.Current.MainPage.ShowPopupAsync(pickerControlView,
PopupOptions.Empty, CancellationToken.None);

if (response != null)
controls.SelectedItem = response;
Но теперь то, что он возвращает, имеет тип ipopupresult . Если я точно знаю, какой тип он возвращает, я могу написать: < /p>

Код: Выделить всё

IPopupResult response = (IPopupResult)await
Application.Current.MainPage.ShowPopupAsync(new LanguagePicker(),
PopupOptions.Empty, CancellationToken.None);
< /code>
Поскольку это общее представление, я не знаю, какой тип данных я передаю и получаю обратно. Я попытался реализовать всплывающее окно  
, как описано в документации Microsoft.
Итак, я определяю всплывающее окно как:

Код: Выделить всё

public partial class PickerControlView : Popup
< /code>
и в xaml < /p>

Теперь компонент открывает всплывающее окно, как и ожидалось, но затем я выбираю элемент в CollectionView , функция CLPICKERVIEW_SELECTECHANGHED вызывается.
После строки

Код: Выделить всё

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 
, я вижу, что ipopupresult имеет свойство , но я могу получить к нему доступ. ошибка < /p>

[0:] microsoft.maui.controls.xaml.diagnostics.bindingdiagnostics: Warning: 'Popupresult {wasdismissedbytingoutsideofpopup = false, result.models. 'LanguageInuse.models.wordtypevalueText'

Поскольку это общий компонент, актер все время отличается.

Подробнее здесь: https://stackoverflow.com/questions/797 ... s-an-error
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • .NET 9 MAUI POPUP POPUP CUSTER
    Anonymous » » в форуме C#
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Приложение .NET MAUI: тип maui:MauiWinUIApplication не найден. Невозможно создать приложение .NET MAUI.
    Anonymous » » в форуме C#
    0 Ответы
    186 Просмотры
    Последнее сообщение Anonymous
  • Как обеспечить автоматическое масштабирование для CollectionView в объекте Popup из CommunityToolkit.Maui после заполнен
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Обмен активами из субпроекта с двумя проектами .NET .NET .NET .NET .NET MAUI Projects
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Обмен активами из субпроекта с двумя проектами .NET .NET .NET .NET .NET MAUI Projects
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»