Я новичок в .NET Maui и создаю свое первое приложение, которое сначала проверяет файл dll на предмет реализации интерфейса, затем пользователь вводит число, и программа должна вывести все простые числа до него. Проблема возникла в визуализации, у меня приложение само подвисает при обработке большого количества, поэтому я решил сделать его асинхронным. Это не помогло, потому что сама визуализация зависает при попытке перечислить эти числа. Тогда я решил добавить постепенную прокрутку, но это не работает. В отладке это событие просто не работает.
Это MainPage.xaml
Я новичок в .NET Maui и создаю свое первое приложение, которое сначала проверяет файл dll на предмет реализации интерфейса, затем пользователь вводит число, и программа должна вывести все простые числа до него. Проблема возникла в визуализации, у меня приложение само подвисает при обработке большого количества, поэтому я решил сделать его асинхронным. Это не помогло, потому что сама визуализация зависает при попытке перечислить эти числа. Тогда я решил добавить постепенную прокрутку, но это не работает. В отладке это событие просто не работает. Это MainPage.xaml [code]
[/code] Это MainPage.xaml.cs [code]using Contract; using Microsoft.Maui.Controls; using System.Collections.ObjectModel; using System.ComponentModel; using System.Reflection; using System.Text;
namespace PrimeNumApp { public partial class MainPage : ContentPage, INotifyPropertyChanged { private bool _isImplemented; private Assembly _assembly; private string _realizationPath; private IPrimeGenerator _primeNumberGenerator; private const int PageSize = 5; private int _currentPage = 0; public ObservableCollection DisplayablePrimeNums { get; set; } private List _allPrimeNumbers = new List(); public MainPage() { InitializeComponent(); DisplayablePrimeNums = new ObservableCollection(); PrimeNumCollection.ItemsSource = DisplayablePrimeNums; PrimeNumCollection.RemainingItemsThresholdReached += OnCollectionViewRemainingItemsThresholdReached;
} public async void OnStartClicked(object sender, EventArgs e) { if (int.TryParse(NumberEntry.Text, out int number)) { try { _allPrimeNumbers = await Task.Run(() => _primeNumberGenerator!.GetPrimeNumbers(number)); DisplayablePrimeNums.Clear(); LoadNextPage();