|
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