我需要获取没有目录名和文件扩展名的文件列表
在
C:\ProgramData\Microsoft\Windows\开始菜单\程序
ex)C:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk (X)
7-Zip 文件管理器 (O)
并在列表框中列出这些文件。
如果在列表框中选择了文件名,我还必须检索图标并启动程序。
像这样。
谁能帮帮我?
谢谢。
最佳答案
使用Path.GetFileNameWithoutExtension用于检索文件名
string fileName = Path.GetFileNameWithoutExtension("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\7-Zip\7-Zip File Manager.lnk);
要在列表框中列出图标,请查看 WPF ListView 类。您需要在 XAML 中定义一个模板来显示图像:
<ListView>
<ListView.Resources>
<DataTemplate x:Key="IconTemplate">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0"/>
<TextBlock Grid.Column="1" Text="{Binding Name}"/>
</Grid>
</DataTemplate>
</ListView.Resources>
<ListView.View>
<GridView>
<GridViewColumn CellTemplate="{StaticResource IconTemplate}" Header="Name"/>
<GridViewColumn DisplayMemberBinding="{Binding FileName}" Header="File Name"/>
</GridView>
</ListView.View>
</ListView>
要从文件中提取图标,您可以使用 System.Drawing
命名空间中的 ExtractAssociatedIcon:
Icon icon = Icon.ExtractAssociatedIcon(filePath);
关于c# - 如何列出目录 C# WPF 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15104986/