add context menu with open folder

This commit is contained in:
Alex Bezdieniezhnykh
2024-10-25 01:36:33 +03:00
parent 596f6db217
commit b5b77d9492
2 changed files with 23 additions and 0 deletions
+6
View File
@@ -160,8 +160,14 @@
<Setter Property="Background" Value="Gray"/>
</DataTrigger>
</Style.Triggers>
<EventSetter Event="ContextMenuOpening" Handler="LvFilesContextOpening"></EventSetter>
</Style>
</ListView.Resources>
<ListView.ContextMenu>
<ContextMenu Name="LvFilesContextMenu">
<MenuItem Header="Відкрити папку..." Click="OpenContainingFolder" Background="WhiteSmoke" />
</ContextMenu>
</ListView.ContextMenu>
<ListView.View>
<GridView>
<GridViewColumn Width="Auto"
+17
View File
@@ -1,4 +1,5 @@
using System.Collections.ObjectModel;
using System.Diagnostics;
using System.IO;
using System.Windows;
using System.Windows.Controls;
@@ -320,6 +321,7 @@ public partial class MainWindow
BlinkHelp(AllMediaFiles.Count == 0
? HelpTexts.HelpTextsDict[HelpTextEnum.Initial]
: HelpTexts.HelpTextsDict[HelpTextEnum.PlayVideo]);
DataContext = this;
}
private void OnFormClosed(object? sender, EventArgs e)
@@ -331,6 +333,15 @@ public partial class MainWindow
Application.Current.Shutdown();
}
private void OpenContainingFolder(object sender, RoutedEventArgs e)
{
var mediaFileInfo = (sender as MenuItem)?.DataContext as MediaFileInfo;
if (mediaFileInfo == null)
return;
Process.Start("explorer.exe", "/select, \"" + mediaFileInfo.Path +"\"");
}
// private void AddClassBtnClick(object sender, RoutedEventArgs e)
// {
// LvClasses.IsReadOnly = false;
@@ -428,4 +439,10 @@ public partial class MainWindow
_galleryManager.ClearThumbnails();
_galleryManager.RefreshThumbnails();
}
private void LvFilesContextOpening(object sender, ContextMenuEventArgs e)
{
var listItem = sender as ListViewItem;
LvFilesContextMenu.DataContext = listItem.DataContext;
}
}