private async void ItemContainerGenerator_Materialized(object sender, Avalonia.Controls.Generators.ItemContainerEventArgs e) { // Allows listbox height to adjust to content before scrolling the scrollviewer. await Task.Delay(1); // TODO: Replace with ScrollToEnd when implemented. var scrollViewer = this.FindControl <ScrollViewer>("MessagesScrollViewer"); var listBox = this.FindControl <ItemsControl>("MessagesListBox"); scrollViewer.Offset = new Vector(0, listBox.Bounds.Height); }
private void ItemContainerGenerator_Dematerialized(object sender, Avalonia.Controls.Generators.ItemContainerEventArgs e) { foreach (var item in e.Containers) { if (item.ContainerControl is TreeViewItem treeViewItem) { treeViewItem.PointerPressed -= OnDocumentClick; treeViewItem.KeyDown -= OnDocumentKeyDown; } } }
private void ItemContainerGenerator_Materialized(object?sender, Avalonia.Controls.Generators.ItemContainerEventArgs e) { foreach (var item in e.Containers) { if (item.ContainerControl is TreeViewItem treeViewItem) { treeViewItem.DoubleTapped += OnDocumentClick; treeViewItem.KeyDown += OnDocumentKeyDown; } } }