mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-23 05:05:00 +00:00
refactor: use TreeDataGrid instead of TreeView/DataGrid to improve performance (#148)
This commit is contained in:
parent
3160f1d142
commit
b192a1c423
24 changed files with 1333 additions and 1330 deletions
|
@ -213,14 +213,16 @@ namespace SourceGit.Views
|
|||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void OnTreeViewContextRequested(object sender, ContextRequestedEventArgs e)
|
||||
private void OnFileContextRequested(object sender, ContextRequestedEventArgs e)
|
||||
{
|
||||
var detail = DataContext as ViewModels.CommitDetail;
|
||||
var node = detail.SelectedRevisionFileNode;
|
||||
if (!node.IsFolder)
|
||||
if (DataContext is ViewModels.CommitDetail vm && sender is TreeDataGrid tree)
|
||||
{
|
||||
var menu = detail.CreateRevisionFileContextMenu(node.Backend as Models.Object);
|
||||
(sender as Control)?.OpenContextMenu(menu);
|
||||
var selected = tree.RowSelection.SelectedItem as ViewModels.FileTreeNode;
|
||||
if (selected != null && !selected.IsFolder && selected.Backend is Models.Object obj)
|
||||
{
|
||||
var menu = vm.CreateRevisionFileContextMenu(obj);
|
||||
tree.OpenContextMenu(menu);
|
||||
}
|
||||
}
|
||||
|
||||
e.Handled = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue