Делаю программу для очистки ресурсов пк путем закрытия программ, не внесенных в WhiteList. Для наглядности решил добавить иконки приложений к их названиям, но как это сделать - не имею ни малейшего представления.
Всё просто. Единственная сложность — вам придётся подключить System.Drawing
для того, чтобы вытащить иконку.
На самом деле, согласно MVVM добыча иконки — задача модели, но я для простоты сделаю это в VM. Получаем следующее:
class FileVM
{
public string Name { get; }
public ImageSource Icon { get; }
public FileVM(string path)
{
Name = System.IO.Path.GetFileName(path);
using (var icon = System.Drawing.Icon.ExtractAssociatedIcon(path))
{
Icon = System.Windows.Interop.Imaging.CreateBitmapSourceFromHIcon(
icon.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
}
}
}
В DataContext
помещаем, к примеру,
var systemFolder = Environment.GetFolderPath(Environment.SpecialFolder.System);
var files = Directory.EnumerateFiles(systemFolder, "*.exe");
var vms = files.Take(20).Select(p => new FileVM(p)).ToList();
Простейший XAML:
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<ItemContainerTemplate>
<DockPanel LastChildFill="True">
<Image Source="{Binding Icon}" Height="32" Width="32" DockPanel.Dock="Left"/>
<TextBlock Text="{Binding Name}"/>
</DockPanel>
</ItemContainerTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Получаем:
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем доброго времени сутокВстал перед вопросом, есть простенькая формула выражающая координату Х графика кривой Циклоида
Есть таблица Rooms и tabcontrolВ таблице Rooms есть Id и Name=Кабинка 1, Кабинка 2 и
В папке Debug имеется папка "Updater", из нее запускается exe и загружает файлы в папку bin/Debug/Updater/temp/, нужно переместить файлы из папки temp в папку /bin/ Подскажите,...
Ребят, подскажите, почему при добавлении элемента в методе InsertElement() индекс выходит за границы?