Skip to content

Commit 826e00e

Browse files
authored
Code Quality: Avoid generation of superfluous CollectionViewSource (#14629)
1 parent 4f8aebf commit 826e00e

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/Files.App/Views/Layouts/BaseLayoutPage.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,28 +1287,31 @@ protected void ItemsLayout_Drop(object sender, DragEventArgs e)
12871287
CommandsViewModel?.DropCommand?.Execute(e);
12881288
}
12891289

1290+
private CollectionViewSource _CollectionViewSource;
1291+
private CollectionViewSource _GroupedCollectionViewSource;
1292+
12901293
private void UpdateCollectionViewSource()
12911294
{
12921295
if (ParentShellPageInstance is null)
12931296
return;
12941297

12951298
if (ParentShellPageInstance.FilesystemViewModel.FilesAndFolders.IsGrouped)
12961299
{
1297-
var newSource = new CollectionViewSource()
1300+
_GroupedCollectionViewSource ??= new CollectionViewSource()
12981301
{
1299-
IsSourceGrouped = true,
1300-
Source = ParentShellPageInstance.FilesystemViewModel.FilesAndFolders.GroupedCollection
1302+
IsSourceGrouped = true
13011303
};
1302-
CollectionViewSource = newSource;
1304+
_GroupedCollectionViewSource.Source = ParentShellPageInstance.FilesystemViewModel.FilesAndFolders.GroupedCollection;
1305+
CollectionViewSource = _GroupedCollectionViewSource;
13031306
}
13041307
else
13051308
{
1306-
var newSource = new CollectionViewSource()
1309+
_CollectionViewSource ??= new CollectionViewSource()
13071310
{
13081311
IsSourceGrouped = false,
13091312
Source = ParentShellPageInstance.FilesystemViewModel.FilesAndFolders
13101313
};
1311-
CollectionViewSource = newSource;
1314+
CollectionViewSource = _CollectionViewSource;
13121315
}
13131316
}
13141317

0 commit comments

Comments
 (0)