У нас есть приложение Maui, которое управляет некоторыми задачами на машинах в сети. В основном он имеет две основные страницы, задачи и машины.[code][ObservableProperty] private ObservableCollection tasks; [ObservableProperty] private ObservableCollection subTasks; < /code> При нажатии на задачу выполняется следующая команда (для установки выбранной задачи и получения подзадач): < /p> [RelayCommand] private async Task Clicked(string taskId) { if (isCtrlPressed) { // Add to selection without removing existing selections var taskToSelect = Tasks.FirstOrDefault(t => t.ID == taskId); if (taskToSelect != null) { if (SelectedTaskIds.Contains(taskToSelect.ID)) { SelectedTaskIds.Remove(taskToSelect.ID); taskToSelect.IsSelected = false; } else { SelectedTaskIds.Add(taskToSelect.ID); taskToSelect.IsSelected = true; } } } else if (isShiftPressed) { // Select range between first selected and current var firstSelected = Tasks.FirstOrDefault(t => t.IsSelected); if (firstSelected != null) { var startIndex = Tasks.IndexOf(firstSelected); var endIndex = Tasks.IndexOf(Tasks.First(t => t.ID == taskId)); var start = Math.Min(startIndex, endIndex); var end = Math.Max(startIndex, endIndex);
for (int i = start; i t.ID == taskId); SelectedTaskIds.Add(taskId); taskToSelect.IsSelected = true; }
if (SelectedTaskIds.Any()) { var lastSelectedId = SelectedTaskIds.Last(); SelectedFirstTask = Tasks.FirstOrDefault(t => t.ID == lastSelectedId); taskDetailvm.SelectedTask = SelectedFirstTask;
[RelayCommand] private async Task LoadSubTasks(string taskId) { if (string.IsNullOrEmpty(taskId)) return;
var task = await CoreTaskRM.LoadFromFile(taskId); if (task == null) return;
// Load data in background var data = await Task.Run(() => task.GetSubTasks().Result); var newSubTasks = data.Select(item => _mapper.Map(item)).ToList();
// Update UI on main thread without blocking await MainThread.InvokeOnMainThreadAsync(() => { UpdateSubTasksCollection(SubTasks, newSubTasks); }); }
private void UpdateSubTasksCollection(ObservableCollection existingTasks, List newTasks) { foreach (var newTask in newTasks) { var existingTask = existingTasks.FirstOrDefault(t => t.ID == newTask.ID);
for (int i = existingTasks.Count - 1; i >= 0; i--) { if (!newTasks.Any(t => t.ID == existingTasks[i].ID)) { existingTasks.RemoveAt(i); } } } < /code> Я покажу, какую часть зрения она связана с: < /p> taskpage: < /p> using CommunityToolkit.Mvvm.Messaging; using CoreFinderUI.ViewModel;
protected override void OnNavigatedTo(NavigatedToEventArgs args) { base.OnNavigatedTo(args); WeakReferenceMessenger.Default.Send(new NavigationMessage()); } } < /code> На этой странице задачи есть задача adetailsideview indested: < /p>
< /code> Внутри этого задачи.
[/code] И там отображаются подзадачи, которые замораживают пользовательский интерфейс во время загрузки, но после того, как они загружены, все в порядке.>
После обсуждения здесь: MySQL 8: очень медленная вставка… выберите на том же сервере для огромной перегородной таблицы
Мы начали обновлять наши таблицы по новым индексам. Поскольку простоя дольше, чем минута, недопустимо из -за характера системы,...
Я недавно установил Garuda Linux Mokka как двойную загрузку с моими Windows 11.
Я дал весь F -накопитель Linux, который составляет около 100 ГБ.
Когда я пытаюсь установить Docker Insust Linux, он замораживает на шаге, где он выполняет
Comploading...
Я недавно установил Garuda Linux Mokka как двойную загрузку с моими Windows 11.
Я дал весь F -накопитель Linux, который составляет около 100 ГБ.
Когда я пытаюсь установить Docker Insust Linux, он замораживает на шаге, где он выполняет
Comploading...
Я пытаюсь загрузить модель XBGClassifier с помощью joblib и Pickle.
При использовании joblib loading_model = joblib.load('trained_model.sav') я получаю следующую ошибку: AttributeError: у модуля «xgboost.compat» нет атрибута «XGBoostLabelEncoder»
И...
Я пытаюсь показывать метаобъявления в iOS с помощью посредничества Google Admob для назначения ставок. но когда я пытаюсь загрузить рекламу, используя этот код в iOS->
let placementID = YOUR_PLACEMENT_ID
interstitialAd =...