|
5 | 5 | using Avalonia.Collections; |
6 | 6 | using Avalonia.Controls; |
7 | 7 | using Avalonia.Input; |
| 8 | +using Avalonia.Interactivity; |
8 | 9 | using Avalonia.VisualTree; |
9 | 10 |
|
10 | 11 | namespace SourceGit.Views |
@@ -129,35 +130,37 @@ protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs chang |
129 | 130 |
|
130 | 131 | if (change.Property == NavigationIdProperty) |
131 | 132 | { |
132 | | - var list = CommitListContainer; |
133 | | - if (list is { SelectedItems.Count: 1 }) |
134 | | - list.ScrollIntoView(list.SelectedItem, null); |
| 133 | + if (CommitListContainer is { SelectedItems.Count: 1, IsLoaded: true } dataGrid) |
| 134 | + dataGrid.ScrollIntoView(dataGrid.SelectedItem, null); |
135 | 135 | } |
136 | 136 | } |
137 | 137 |
|
| 138 | + private void OnCommitListLoaded(object sender, RoutedEventArgs e) |
| 139 | + { |
| 140 | + if (CommitListContainer is { SelectedItems.Count: 1 } dataGrid) |
| 141 | + dataGrid.ScrollIntoView(dataGrid.SelectedItem, null); |
| 142 | + } |
| 143 | + |
138 | 144 | private void OnCommitListLayoutUpdated(object _1, EventArgs _2) |
139 | 145 | { |
140 | 146 | if (IsLoaded) |
141 | | - { |
142 | 147 | CommitGraph.InvalidateVisual(); |
143 | | - } |
144 | 148 | } |
145 | 149 |
|
146 | 150 | private void OnCommitListSelectionChanged(object _, SelectionChangedEventArgs e) |
147 | 151 | { |
148 | 152 | if (DataContext is ViewModels.Histories histories) |
149 | | - { |
150 | 153 | histories.Select(CommitListContainer.SelectedItems); |
151 | | - } |
| 154 | + |
152 | 155 | e.Handled = true; |
153 | 156 | } |
154 | 157 |
|
155 | 158 | private void OnCommitListContextRequested(object sender, ContextRequestedEventArgs e) |
156 | 159 | { |
157 | | - if (DataContext is ViewModels.Histories histories && sender is DataGrid { SelectedItems.Count: > 0 } list) |
| 160 | + if (DataContext is ViewModels.Histories histories && sender is DataGrid { SelectedItems.Count: > 0 } dataGrid) |
158 | 161 | { |
159 | | - var menu = histories.MakeContextMenu(list); |
160 | | - menu?.Open(list); |
| 162 | + var menu = histories.MakeContextMenu(dataGrid); |
| 163 | + menu?.Open(dataGrid); |
161 | 164 | } |
162 | 165 | e.Handled = true; |
163 | 166 | } |
|
0 commit comments