Code: Select all
verwende
Code: Select all
System.InvalidOperationException : „Ein Ankersteuerelement muss ein visueller Nachkomme des ScrollContentPresenter sein.“
Dies passiert nur, wenn ich die Liste manuell fülle und nicht ändere (sie ist leer). am Anfang). Aber ich denke, das liegt nur daran, dass kein Scrollen möglich ist, wenn die Liste leer ist.
Ich sollte auch erwähnen, dass die Listeninformationen asynchron gelesen werden und ich dies verwende, um sie zu füllen:
Code: Select all
void FillListBox(string[] files)
{
Avalonia.Threading.Dispatcher.UIThread.InvokeAsync(() =>
{
CreateListboxItems(files);
});
}
private void CreateListboxItems(string[] files)
{
MyItems.Clear();
int length = files.Length;
for (int i = 0; i < length; i++)
{
ListBoxItem item = CreateListboxItem(files[i]);
RenderFrameItems.Add(item);
}
}
ListBoxItem CreateListboxItem(string filePath)
{
Avalonia.Media.FontStyle fontStyle = File.Exists(filePath) ? Avalonia.Media.FontStyle.Normal : Avalonia.Media.FontStyle.Italic;
ListBoxItem response = new ListBoxItem()
{
Content = filePath,
FontStyle = fontStyle,
};
return response;
}
BEARBEITEN:
Verwenden von ObservableCollection< /code> anstelle von ObservableCollection funktioniert, aber ich erhalte nicht die gewünschte Formatierung