Code: Select all
public class WordGroup : List
{
public string Name { get; private set; }
public WordGroup(string name, List words) : base(words)
{
Name = name;
}
}
[ObservableProperty]
private ObservableCollection? _wordGroups;
Code: Select all
< /code>
Wenn der Schwellenwert erreicht ist, wird in der App diese Funktion < /p>
ausgeführtprivate async void cvWords_RemainingItemsThresholdReached(object sender,
EventArgs e)
{
if (BindingContext is DictionaryWordsListViewModel vm)
{
await vm.ReadMoreWords();
}
}
< /code>
ReadMoreWords
gruppieren
Code: Select all
public void GroupWords()
{
if (Words != null && Words.Count == 0)
{
WordGroups = new ObservableCollection();
return;
}
if (IsGroupedByLetter)
WordGroups = Words?.ToObservableGroups();
else
WordGroups = Words?.ToObservableGroups(Enums.GroupFor.WordType);
}
< /code>
The [url=viewtopic.php?t=26065]problem[/url] is that every time I add new elements and group them, the CollectionView
Code: Select all
private async void cvWords_RemainingItemsThresholdReached(object sender,
EventArgs e)
{
if (BindingContext is DictionaryWordsListViewModel vm)
{
await vm.ReadMoreWords();
cvWords.ScrollTo(vm.WordGroups?.LastOrDefault(),
position: ScrollToPosition.End, animate: false);
}
}
< /code>
with no results. Also, I tried to change the GroupWords
Code: Select all
foreach (var newGroup in list)
{
var existingGroup = WordGroups.FirstOrDefault(g => g.Name == newGroup.Name);
if (existingGroup == null)
{
WordGroups.Add(newGroup);
}
else
{
foreach (var word in newGroup)
{
if (!existingGroup.Any(w => w.ID == word.ID))
existingGroup.Add(word);
}
}
}
< /code>
In this case, the application crashes when I add the second newGroup